Python pandas函数使用详解与优化技巧

Pandas库

  • 基本概念
  • 读取数据
  • 数据处理
  • 数据输出
  • 其他常用功能
  • pip install pandas
    

    基本概念

    1. 数据结构

    2. Series: 一维数据结构

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

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

    读取数据

    1. 从 CSV 文件读取数据

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

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

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

    数据处理

    1. 查看数据

    2. 查看前 5 行

      print(df.head())
      
    3. 查看后 5 行

      print(df.tail())
      
    4. 查看数据的简要信息

      print(df.info())
      
    5. 查看数据的统计摘要

      print(df.describe())
      
    6. 选择和过滤数据

    7. 按列选择

      print(df['Name'])
      
    8. 按行选择

      print(df.loc[0])  # 按标签
      print(df.iloc[0])  # 按位置
      
    9. 条件过滤

      filtered_df = df[df['Age'] > 30]
      print(filtered_df)
      
    10. 数据清洗

    11. 处理缺失值

      df = df.dropna()  # 删除含缺失值的行
      df = df.fillna(0)  # 将缺失值填充为 0
      
    12. 去重

      df = df.drop_duplicates()
      
    13. 数据类型转换

      df['Age'] = df['Age'].astype(float)
      
    14. 数据操作

    15. 添加列

      df['Country'] = 'USA'
      
    16. 删除列

      df = df.drop('Country', axis=1)
      
    17. 重命名列

      df = df.rename(columns={'Name': 'Full Name'})
      
    18. 数据聚合

    19. 按组聚合

      grouped_df = df.groupby('Country').agg({'Age': 'mean'})
      print(grouped_df)
      
    20. 合并数据

      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)
      
    21. 拼接数据

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

    23. 按列排序

      sorted_df = df.sort_values(by='Age')
      print(sorted_df)
      
    24. 排序方向

      sorted_df = df.sort_values(by='Age', ascending=False)
      print(sorted_df)
      

    数据输出

    1. 保存为 CSV 文件

      df.to_csv('output.csv', index=False)
      
    2. 保存为 Excel 文件

      df.to_excel('output.xlsx', index=False)
      

    其他常用功能

    1. 透视表

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

    3. 日期时间转换

      df['Date'] = pd.to_datetime(df['Date'])
      
    4. 设置时间索引

      df = df.set_index('Date')
      

    作者:Stringzhua

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python pandas函数使用详解与优化技巧

    发表回复