Python中总结的一些Pandas数据处理要点

目前感觉 Pandas 的官方文档和官方推荐的一些教程都不是特别友好,所以对自己常接触的一些点做了总结。是 Jupyter Notebook 的形式,github: https://github.com/simoncos/practical-python/blob/master/pandas-data-tips/pandas_data_tips.ipynb

因为是一个 initial 版本,希望大家给些建议:P
Python中总结的一些Pandas数据处理要点


3 回复

Pandas数据处理核心要点

数据结构:

  • Series:一维带标签数组,核心是indexvalues
  • DataFrame:二维表格,由多个Series组成,有indexcolumns

数据读取/保存:

import pandas as pd
df = pd.read_csv('data.csv')  # 读取CSV
df.to_csv('output.csv', index=False)  # 保存CSV
# 支持Excel、JSON、SQL等多种格式

数据查看:

df.head()  # 前5行
df.info()  # 数据类型和内存
df.describe()  # 统计摘要
df.shape  # 行列数

数据清洗:

# 处理缺失值
df.dropna()  # 删除缺失值
df.fillna(value)  # 填充缺失值

# 去重
df.drop_duplicates()

# 类型转换
df['col'] = df['col'].astype('int')

数据筛选:

# 条件筛选
df[df['score'] > 80]
df.query('score > 80 and age < 30')

# 行列选择
df.loc[row_indexer, col_indexer]  # 标签索引
df.iloc[row_position, col_position]  # 位置索引

数据操作:

# 新增列
df['new_col'] = df['col1'] + df['col2']

# 分组聚合
df.groupby('category')['value'].mean()

# 排序
df.sort_values('column', ascending=False)

# 合并数据
pd.concat([df1, df2])  # 拼接
pd.merge(df1, df2, on='key')  # 合并

时间处理:

df['date'] = pd.to_datetime(df['date'])
df['year'] = df['date'].dt.year

向量化操作: 优先使用内置方法,避免循环:

# 好
df['col'] = df['col'].apply(lambda x: x*2)

# 更好(如果支持向量化)
df['col'] = df['col'] * 2

内存优化:

  • 使用category类型处理重复字符串
  • int8/int16等替代默认int64
  • 及时删除不需要的列:df.drop(columns=['col'], inplace=True)

常用技巧:

  • df.nlargest(5, 'column') 获取前N大值
  • df.pivot_table() 数据透视
  • df.sample(n=10) 随机抽样
  • df.corr() 计算相关性

一句话建议: 掌握这些核心操作能解决90%的日常数据处理需求。


个人觉得你这个比官方文档还不友好。 官方文档至少还有一些使用注意事项,你这个总结完全就是堆代码。

代码也不是瞎往上放的,之后会再加一些详细解释。

回到顶部