python中的pandas库

lemon Lv4

1. 核心功能

  • 数据结构操作:提供 Series(一维)和 DataFrame(二维)数据结构,支持高效的数据操作。
  • 数据清洗:集成处理缺失值、重复值、异常值等方法(如 dropna(), fillna(), drop_duplicates())。
  • 数据分析:支持描述性统计、聚合、分组、排序、合并等操作(如 mean(), sum(), groupby(), sort_values(), merge())。
  • 文件读写:支持 CSV、Excel、SQL、JSON 等格式的数据读写(如 read_csv(), to_excel())。
  • 数据可视化:集成 Matplotlib 库,支持直接绘制图表(如 plot())。

2. 常用类与方法

  • 创建对象

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    import pandas as pd

    # 创建 Series(一维数据)
    s = pd.Series([1, 2, 3, 4, 5])

    # 创建 DataFrame(二维表格)
    df = pd.DataFrame({
    'name': ['Alice', 'Bob', 'Charlie'],
    'age': [25, 32, 18],
    'city': ['New York', 'Seattle', 'Los Angeles']
    })
  • 查看数据

    • head(n):查看前 n 行(默认前5行)。
    • tail(n):查看后 n 行(默认后5行)。
    • info():查看数据类型、非空值数量等。
    • describe():查看数值列的统计摘要(均值、标准差等)。
  • 数据清洗

    • dropna():删除缺失值。
    • fillna(value):用指定值填充缺失值。
    • drop_duplicates():删除重复行。
    • clip(lower, upper):限制数值范围(如将小于0的值设为0)。
  • 数据分析

    • 选择数据
      • df['column']:选择单列。
      • df[['col1', 'col2']]:选择多列。
      • df.loc[row_label]:按行标签选择数据。
      • df.iloc[row_index]:按行索引选择数据。
    • 统计计算
      • mean():均值。
      • sum():求和。
      • min()/max():最小值/最大值。
      • groupby('column').agg(func):按列分组后聚合(如计算每组均值)。
    • 排序
      • sort_values(by='column'):按列值排序。
      • sort_index():按行/列索引排序。
    • 合并数据
      • merge(df1, df2, on='column'):按列合并两个 DataFrame。
      • concat([df1, df2]):沿行或列拼接多个 DataFrame。
  • 文件读写

    • CSV 文件
      • read_csv('file.csv'):读取 CSV。
      • to_csv('file.csv', index=False):写入 CSV(不保存索引)。
    • Excel 文件
      • read_excel('file.xlsx', sheet_name='Sheet1'):读取 Excel。
      • to_excel('file.xlsx', sheet_name='Sheet1'):写入 Excel。
  • 数据可视化

    1
    2
    3
    4
    5
    6
    7
    8
    9
    import matplotlib.pyplot as plt

    # 绘制柱状图
    df['age'].plot(kind='bar')
    plt.show()

    # 绘制折线图
    df.plot(x='name', y='age', kind='line')
    plt.show()

3. 使用示例

  • 筛选数据

    1
    2
    3
    4
    5
    # 筛选 age 列大于 30 的行
    filtered_df = df[df['age'] > 30]

    # 多条件筛选(age > 20 且 city 为 'New York')
    filtered_df = df[(df['age'] > 20) & (df['city'] == 'New York')]
  • 分组统计

    1
    2
    # 按 city 分组,计算每组的平均年龄
    grouped_df = df.groupby('city')['age'].mean()
  • 处理缺失值

    1
    2
    3
    4
    5
    # 用 0 填充缺失值
    df.fillna(0, inplace=True)

    # 删除包含缺失值的行
    df.dropna(inplace=True)

4. 注意事项

  • 数据类型一致性:确保数据列的数据类型一致,避免隐式转换错误。
  • 缺失值处理:在分析前处理缺失值,避免影响结果准确性。
  • 内存管理:处理大型数据集时,注意内存使用情况,避免溢出。
  • 索引和列名:理解索引和列名的概念,正确使用 loc[]iloc[] 进行数据选择。
  • 文件路径:读写文件时检查路径是否存在及权限问题。

总结

  • 基础操作:用 pd.Series()pd.DataFrame() 创建数据对象,head()tail() 查看数据。
  • 数据清洗:用 dropna()fillna()drop_duplicates() 处理缺失值和重复值。
  • 数据分析:用 mean()sum()groupby() 进行统计和分组计算,sort_values() 排序数据。
  • 文件读写:用 read_csv()to_csv() 读写 CSV,read_excel()to_excel() 读写 Excel。
  • 数据可视化:用 plot() 方法直接绘制图表。
  • 标题: python中的pandas库
  • 作者: lemon
  • 创建于 : 2025-04-12 22:07:08
  • 更新于 : 2025-04-12 22:26:13
  • 链接: https://lemon2003.github.io/post/20250412220708.html
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论