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')
相关推荐
疏狂难除1 分钟前
尝试rust与python的混合编程(二)
数据库·python·rust
小光学长27 分钟前
基于微信小程序的家具商城系统g80l9675(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·微信小程序·小程序
j***82701 小时前
Mybatis控制台打印SQL执行信息(执行方法、执行SQL、执行时间)
数据库·sql·mybatis
g***26791 小时前
5、使用 pgAdmin4 图形化创建和管理 PostgreSQL 数据库
数据库·postgresql
P***84391 小时前
【MySQL】C# 连接MySQL
数据库·mysql·c#
8***f3951 小时前
SQL中的REGEXP正则表达式使用指南
数据库·sql·正则表达式
o***74171 小时前
MySQL root用户密码忘记怎么办(Reset root account password)
数据库·mysql·adb
M***Z2101 小时前
【SQL技术】不同数据库引擎 SQL 优化方案剖析
数据库·sql
子午1 小时前
【蘑菇识别系统】Python+TensorFlow+Vue3+Django+人工智能+深度学习+卷积网络+resnet50算法
人工智能·python·深度学习
Mr_Xuhhh1 小时前
pytest -- 指定⽤例执⾏顺序
开发语言·python·pytest