Python pandas常见函数

Pandas库

bash 复制代码
pip install pandas

基本概念

  1. 数据结构

    • Series: 一维数据结构

      python 复制代码
      import pandas as pd
      data = pd.Series([10, 20, 30, 40], index=['a', 'b', 'c', 'd'])
      print(data)
    • DataFrame: 二维数据结构

      python 复制代码
      data = {
          'Name': ['Alice', 'Bob', 'Charlie'],
          'Age': [25, 30, 35]
      }
      df = pd.DataFrame(data)
      print(df)

读取数据

  1. 从 CSV 文件读取数据

    python 复制代码
    df = pd.read_csv('file.csv')
    print(df.head())
  2. 从 Excel 文件读取数据

    python 复制代码
    df = pd.read_excel('file.xlsx', sheet_name='Sheet1')
    print(df.head())
  3. 从 SQL 查询读取数据

    python 复制代码
    import sqlite3
    conn = sqlite3.connect('database.db')
    df = pd.read_sql_query('SELECT * FROM table', conn)
    print(df.head())

数据处理

  1. 查看数据

    • 查看前 5 行

      python 复制代码
      print(df.head())
    • 查看后 5 行

      python 复制代码
      print(df.tail())
    • 查看数据的简要信息

      python 复制代码
      print(df.info())
    • 查看数据的统计摘要

      python 复制代码
      print(df.describe())
  2. 选择和过滤数据

    • 按列选择

      python 复制代码
      print(df['Name'])
    • 按行选择

      python 复制代码
      print(df.loc[0])  # 按标签
      print(df.iloc[0])  # 按位置
    • 条件过滤

      python 复制代码
      filtered_df = df[df['Age'] > 30]
      print(filtered_df)
  3. 数据清洗

    • 处理缺失值

      python 复制代码
      df = df.dropna()  # 删除含缺失值的行
      df = df.fillna(0)  # 将缺失值填充为 0
    • 去重

      python 复制代码
      df = df.drop_duplicates()
    • 数据类型转换

      python 复制代码
      df['Age'] = df['Age'].astype(float)
  4. 数据操作

    • 添加列

      python 复制代码
      df['Country'] = 'USA'
    • 删除列

      python 复制代码
      df = df.drop('Country', axis=1)
    • 重命名列

      python 复制代码
      df = df.rename(columns={'Name': 'Full Name'})
  5. 数据聚合

    • 按组聚合

      python 复制代码
      grouped_df = df.groupby('Country').agg({'Age': 'mean'})
      print(grouped_df)
    • 合并数据

      python 复制代码
      df1 = pd.DataFrame({'ID': [1, 2], 'Value': ['A', 'B']})
      df2 = pd.DataFrame({'ID': [1, 2], 'Score': [85, 90]})
      merged_df = pd.merge(df1, df2, on='ID')
      print(merged_df)
    • 拼接数据

      python 复制代码
      df1 = pd.DataFrame({'Name': ['Alice', 'Bob']})
      df2 = pd.DataFrame({'Name': ['Charlie', 'David']})
      concatenated_df = pd.concat([df1, df2], ignore_index=True)
      print(concatenated_df)
  6. 数据排序

    • 按列排序

      python 复制代码
      sorted_df = df.sort_values(by='Age')
      print(sorted_df)
    • 排序方向

      python 复制代码
      sorted_df = df.sort_values(by='Age', ascending=False)
      print(sorted_df)

数据输出

  1. 保存为 CSV 文件

    python 复制代码
    df.to_csv('output.csv', index=False)
  2. 保存为 Excel 文件

    python 复制代码
    df.to_excel('output.xlsx', index=False)

其他常用功能

  1. 透视表

    python 复制代码
    pivot_table = pd.pivot_table(df, values='Age', index='Country', aggfunc='mean')
    print(pivot_table)
  2. 时间序列

    • 日期时间转换

      python 复制代码
      df['Date'] = pd.to_datetime(df['Date'])
    • 设置时间索引

      python 复制代码
      df = df.set_index('Date')
相关推荐
默_笙4 天前
🍙 给每个请求过安检:FastAPI 是怎么把校验写进类型注解的
python
qq_426003964 天前
启动playwright录制codegen生成自动化测试脚本
python·自动化
虎头金猫4 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
长沙三为智能科技4 天前
家政小程序开发从0到上线:五阶段交付流程与验收清单
python
伞伞悦读4 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
这个DBA有点耶4 天前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构
DBA_G4 天前
从地面到云霄:GBase数据库在民航三大场景的落地实践
数据库
自由能燃气设备4 天前
商用全预混低氮冷凝锅炉免费方案vs付费方案对比+选型避坑指南
大数据·数据库·人工智能
只睡四小时4 天前
Canvas 弹道联机实战:700 行 + 固定时间步长
python·websocket·html5·游戏开发·canvas
科创致远4 天前
科创致远 ESOP 系统核心效能与实战价值展示
大数据·数据库·人工智能·精益工程