9 个必知的 Python-Pandas 数据处理操作

大家好

今天分享一个一站式的 Pandas 备忘单和解释。不论你是在导入、清理、分析还是导出数据,这个指南都能为你节省时间和点击。


📥 1. 数据导入 — 将数据导入 Pandas

pd.read_csv('file.csv')  # 加载 CSV
pd.read_excel('file.xlsx', sheet_name='Sheet1')  # 加载 Excel
pd.read_sql(query, connection)  # 执行 SQL 查询
pd.read_json('file.json')  # 加载 JSON
pd.read_parquet('file.parquet')  # 加载 Parquet

✅ 原因:将几乎来自任何地方的数据导入到您的 DataFrame 中。


🔍 2. 数据选择 — 访问您所需的内容

df['column']                # 单列
df.loc['row', 'col']        # 按标签
df.iloc[0:5, 0:2]           # 按位置
df.query('col > 5')         # 类似SQL的过滤
df[df['col].isin(['A,B])]  # 多重匹配

✅ 原因:快速过滤并获取特定的行或列。


🔄 3. 数据操作 — 处理你的数据

df.groupby('col').agg({'col2': ['mean','sum']})  # 分组统计
df.merge(df2, on='key', how='left')              # 数据连接

df.pivot_table(values='val', index='idx')        # 透视表
df.sort_values(['col1','col2'], ascending=[1,0]) # 排序

df.melt(id_vars=['id'], value_vars=['A','B'])    # 反透视
df.apply(lambda x: x**2)                         # 应用函数

✅ 原因:将您的数据集转换为符合分析目标的格式。


📊 4. 统计 — 快速洞察

df.describe()                          # 概要统计
df['col'].agg(['mean','median','std']) # 关键指标

df['col'].value_counts(normalize=True) # 值的百分比
df.corr(method='pearson')              # 相关性
df.cov()                               # 协方差
df.quantile([0.25, 0.5, 0.75])         # 四分位数

✅ 原因:即时了解数据分布。


🧹 5. 数据清洗 — 使其可用

df.dropna(subset=['col'], how='any')       # 移除 NaN
df.fillna(method='ffill')                  # 向前填充
df.drop_duplicates(subset=['col'])         # 去重
df['col'].replace({'old': 'new'})           # 替换值
df['col'].astype('category')               # 转换类型
df.interpolate(method='linear')            # 按趋势填充

✅ 原因:可靠的数据意味着可靠的分析。


⏳ 6. 时间序列 — 处理日期

df.resample('M').mean()                     # 月平均值
df.rolling(window=7).mean() # 滚动平均 df.shift(periods=1) # 数据平移 pd.date_range('2024', periods=12, freq='M') # 日期范围 df.asfreq('D', method='ffill') # 每日频率 
df['date1'].dt.strftime('%Y-%m-%d')          # 格式化日期

✅ 原因:基于时间的数据通常需要重新采样或偏移。


✂ 7. 字符串操作 — 文本处理

df['col'].str.contains('pattern')          # 匹配
df['col'].str.extract('(\d+)')              # 提取数字
df['col'].str.split('_', 1).str[0]          # 分割文本

df['col'].str.lower()                       # 转为小写
df['col'].str.strip()                       # 去除空格
df['col'].str.replace(r'\s+', ' ')          # 规范化空格

✅ 原因:直接在 Pandas 中清理杂乱的文本字段。


🚀 8. 高级特性 — 强大的操作

df.pipe(func)                              # 链接函数
pd.eval('df1 + df2')                       # 快速评估
df.memory_usage(deep=True)                 # 内存检查

df.select_dtypes(include=['number])       # 过滤数据类型
df.nlargest(5, 'col')                      # 获取前五个最大值
df.explode('col)                          # 展开列表

✅ 原因:编写更简洁、更快速和更高效的代码。


💾 9. 数据导出 — 保存你的工作

df.to_csv('output.csv', index=False)               # CSV
df.to_excel('output.xlsx', sheet_name='Sheet1')    # Excel

df.to_parquet('output.parquet')                    # Parquet
df.to_json('output.json', orient='records')        # JSON

✅ 原因:即时分享结果以正确的格式。


💡 专业提示

📝 使用 .copy() 来避免意外更改。

🔗 链式调用方法以使代码更简洁。

🗂 使用 dtype='category' 来节省内存。

❌ 避免使用 inplace=True — 请重新赋值。


💬 你最常使用的 Pandas 技巧是什么?或者你有没有其他未列出的最爱?与我们分享一下,让这个备忘单更好。🚀

更多