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')
相关推荐
xiao5kou4chang6kai49 分钟前
Python-GEE遥感云大数据分析与可视化(如何建立基于云计算的森林监测预警系统)
python·数据分析·云计算·森林监测·森林管理
presenttttt16 分钟前
用Python和OpenCV从零搭建一个完整的双目视觉系统(四)
开发语言·python·opencv·计算机视觉
星辰离彬25 分钟前
Java 与 MySQL 性能优化:MySQL连接池参数优化与性能提升
java·服务器·数据库·后端·mysql·性能优化
木头左3 小时前
逻辑回归的Python实现与优化
python·算法·逻辑回归
张璐月3 小时前
mysql join语句、全表扫描 执行优化与访问冷数据对内存命中率的影响
数据库·mysql
quant_19864 小时前
R语言如何接入实时行情接口
开发语言·经验分享·笔记·python·websocket·金融·r语言
全干engineer5 小时前
ClickHouse 入门详解:它到底是什么、优缺点、和主流数据库对比、适合哪些场景?
数据库·clickhouse
Hellyc7 小时前
基于模板设计模式开发优惠券推送功能以及对过期优惠卷进行定时清理
java·数据库·设计模式·rocketmq
lifallen7 小时前
Paimon LSM Tree Compaction 策略
java·大数据·数据结构·数据库·算法·lsm-tree