首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Python Pandas数据分析常用的30个函数

Python Pandas数据分析常用的30个函数

作者头像
用户11081884
发布2026-07-20 16:58:31
发布2026-07-20 16:58:31
380
举报

PandasPython数据分析的核心库,提供了高效的数据结构和数据处理工具。掌握Pandas的核心函数可以显著提升数据分析效率。本文介绍30个常用的Pandas函数,帮助使用Pandas做数据分析。

1. read_csv() / read_excel()

功能:CSVExcel文件加载数据

场景:数据导入

代码语言:javascript
复制
df = pd.read_csv('data.csv')
df = pd.read_excel('data.xlsx')

2. head() / tail()

功能:查看数据框前/后n行

场景:数据预览

代码语言:javascript
复制
df.head(5)  # 查看前5行
df.tail(3)  # 查看后3行

3. info()

功能:显示数据框基本信息

场景:数据概览

代码语言:javascript
复制
df.info()  # 显示列名、非空值数量、数据类型等

4. describe()

功能:生成数值列的描述性统计

场景:快速统计分析

代码语言:javascript
复制
df.describe()  # 显示计数、均值、标准差、最小值、四分位数等

5. isnull()

功能:检测缺失值

场景:数据质量检查

代码语言:javascript
复制
df.isnull().sum()  # 统计每列缺失值数量

6. drop_duplicates()

功能:删除重复行

场景:数据清洗

代码语言:javascript
复制
df.drop_duplicates(subset=['id'], keep='first')  # 按id列去重

7. rename()

功能:重命名列

场景:数据整理

代码语言:javascript
复制
df.rename(columns={'old_name': 'new_name'}, inplace=True)

8. loc[] / iloc[]

功能:按标签/位置选择数据

场景:数据筛选

代码语言:javascript
复制
df.loc[df['age'] > 30]  # 选择年龄大于30的行
df.iloc[0:5, 1:3]  # 选择前5行和第1-2列

9. concat()

功能:合并多个数据框

场景:数据整合

代码语言:javascript
复制
pd.concat([df1, df2], axis=0)  # 纵向合并
pd.concat([df1, df2], axis=1)  # 横向合并

10. to_datetime()

功能:将字符串转换为日期时间

场景:时间序列处理

代码语言:javascript
复制
df['date'] = pd.to_datetime(df['date'])

11. str.contains()

功能:字符串包含检测

场景:文本数据处理

代码语言:javascript
复制
df[df['name'].str.contains('John')]  # 筛选名字包含John的行

12. cut()

功能:将数值数据分箱

场景:数据离散化

代码语言:javascript
复制
df['age_group'] = pd.cut(df['age'], bins=[0,18,35,60,100], 
                        labels=['child','young','middle','old'])

13. get_dummies()

功能:创建哑变量/独热编码

场景:分类变量处理

代码语言:javascript
复制
pd.get_dummies(df['gender'], prefix='gender')

14. corr()

功能:计算列之间的相关性

场景:特征分析

代码语言:javascript
复制
df.corr()  # 计算所有数值列的相关性矩阵

15. rolling()

功能:滚动窗口计算

场景:时间序列分析

代码语言:javascript
复制
df['sales'].rolling(window=7).mean()  # 7天移动平均

16. resample()

功能:时间序列重采样

场景:时间频率转换

代码语言:javascript
复制
df.resample('M').sum()  # 按月汇总

17. melt()

功能:将宽格式转换为长格式

场景:数据重塑

代码语言:javascript
复制
pd.melt(df, id_vars=['id'], value_vars=['Q1','Q2','Q3','Q4'])

18. pivot()

功能:将长格式转换为宽格式

场景:数据透视

代码语言:javascript
复制
df.pivot(index='date', columns='product', values='sales')

19. qcut()

功能:基于分位数分箱

场景:数据离散化

代码语言:javascript
复制
df['income_level'] = pd.qcut(df['income'], q=4, 
                            labels=['low','medium','high','very_high'])

20. to_csv() / to_excel()

功能:将数据保存到文件

场景:结果输出

代码语言:javascript
复制
df.to_csv('output.csv', index=False)
df.to_excel('output.xlsx', sheet_name='Sheet1')

21. apply()

功能:对DataFrame的行或列应用自定义函数

场景:实现复杂的数据转换或计算

代码语言:javascript
复制
# 示例:计算销售额的增值税(税率13%)
df['tax'] = df['sales'].apply(lambda x: x * 0.13)

22. groupby()

功能:按指定列分组并进行聚合计算

场景:分组统计分析

代码语言:javascript
复制
# 按产品类别统计平均价格和总销量
result = df.groupby('category').agg({'price':'mean', 'quantity':'sum'})

23. fillna()

功能:填充或替换缺失值

场景:数据清洗中的缺失值处理

代码语言:javascript
复制
# 用中位数填充缺失的价格数据
df['price'] = df['price'].fillna(df['price'].median())

24. merge()

功能:合并多个DataFrame

场景:多表关联查询

代码语言:javascript
复制
# 按用户ID合并订单表和用户信息表
merged_df = pd.merge(orders_df, users_df, on='user_id', how='left')

25. pivot_table()

功能:创建数据透视表

场景:多维数据交叉分析

代码语言:javascript
复制
# 统计不同地区和产品类别的平均销售额
pivot = pd.pivot_table(df, values='sales', index='region', columns='category', aggfunc='mean')

26. value_counts()

功能:统计唯一值出现频次

场景:查看数据分布情况

代码语言:javascript
复制
# 统计不同教育水平的员工数量
education_counts = df['education'].value_counts()

27. dropna()

功能:删除包含缺失值的行或列

场景:清理无效数据

代码语言:javascript
复制
# 删除所有列都缺失的行
clean_df = df.dropna(how='all')

28. astype()

功能:转换列的数据类型

场景:数据格式标准化

代码语言:javascript
复制
# 将字符串类型的日期转换为datetime类型
df['date'] = df['date'].astype('datetime64')

29. sort_values()

功能:按列值排序

场景:数据排序分析

代码语言:javascript
复制
# 按销售额降序排列
sorted_df = df.sort_values('sales', ascending=False)

30. query()

功能:通过表达式筛选数据

场景:简化复杂条件查询

代码语言:javascript
复制
# 筛选年龄在25-35岁之间的女性用户
filtered = df.query('age >= 25 and age <= 35 and gender == "female"')

掌握这30个核心函数,能够高效处理90%以上的pandas数据分析任务。在实际业务场景中逐步掌握这些函数的灵活应用。

“无他,惟手熟尔”!有需要的用起来。

如果你觉得这篇文章有用,欢迎点赞、转发、收藏、留言、推荐❤!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-07-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Nicholas与Pypi 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2. head() / tail()
  • 3. info()
  • 4. describe()
  • 5. isnull()
  • 6. drop_duplicates()
  • 7. rename()
  • 8. loc[] / iloc[]
  • 9. concat()
  • 10. to_datetime()
  • 11. str.contains()
  • 12. cut()
  • 13. get_dummies()
  • 14. corr()
  • 15. rolling()
  • 16. resample()
  • 17. melt()
  • 18. pivot()
  • 19. qcut()
  • 20. to_csv() / to_excel()
  • 21. apply()
  • 22. groupby()
  • 23. fillna()
  • 24. merge()
  • 25. pivot_table()
  • 26. value_counts()
  • 27. dropna()
  • 28. astype()
  • 29. sort_values()
  • 30. query()
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档