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')
相关推荐
Dxy12393102161 分钟前
python下载pdf
数据库·python·pdf
叶知安2 分钟前
如何用pycharm连接sagemath?
ide·python·pycharm
weixin_432702266 分钟前
代码随想录算法训练营第五十五天|图论理论基础
数据结构·python·算法·深度优先·图论
菜鸟清风13 分钟前
ChromeDriver下载地址
python
deephub24 分钟前
Tokenformer:基于参数标记化的高效可扩展Transformer架构
人工智能·python·深度学习·架构·transformer
Open-AI42 分钟前
Python如何判断一个数是几位数
python
桀桀桀桀桀桀44 分钟前
数据库中的用户管理和权限管理
数据库·mysql
极客代码1 小时前
【Python TensorFlow】入门到精通
开发语言·人工智能·python·深度学习·tensorflow
义小深1 小时前
TensorFlow|咖啡豆识别
人工智能·python·tensorflow
疯一样的码农1 小时前
Python 正则表达式(RegEx)
开发语言·python·正则表达式