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')
相关推荐
databook9 小时前
Manim实现脉冲闪烁特效
后端·python·动效
程序设计实验室10 小时前
2025年了,在 Django 之外,Python Web 框架还能怎么选?
python
倔强青铜三11 小时前
苦练Python第46天:文件写入与上下文管理器
人工智能·python·面试
用户25191624271114 小时前
Python之语言特点
python
RestCloud15 小时前
SQL Server到Hive:批处理ETL性能提升30%的实战经验
数据库·api
刘立军15 小时前
使用pyHugeGraph查询HugeGraph图数据
python·graphql
RestCloud15 小时前
为什么说零代码 ETL 是未来趋势?
数据库·api
ClouGence17 小时前
CloudCanal + Paimon + SelectDB 从 0 到 1 构建实时湖仓
数据库
数据智能老司机18 小时前
精通 Python 设计模式——创建型设计模式
python·设计模式·架构
数据智能老司机19 小时前
精通 Python 设计模式——SOLID 原则
python·设计模式·架构