page contents

高效数据分析必备:Pandas最常用的10个核心函数!

Pandas是Python数据分析的利器,其内置函数能大幅简化数据操作流程。本文介绍10个高频函数,结合代码示例,帮助您快速掌握核心功能。

attachments-2025-04-WZdyhjRw67fdb987a02ee.jpgPandas是Python数据分析的利器,其内置函数能大幅简化数据操作流程。本文介绍10个高频函数,结合代码示例,帮助您快速掌握核心功能。

1. apply()

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

场景:数据转换或复杂计算。

# 示例:计算BMI指数(体重kg / (身高m)^2)

df['BMI'] = df.apply(lambda row: row['weight'] / (row['height']/100)**2, axis=1)

2. groupby()

功能:按指定列分组,实现聚合分析。

场景:统计分组数据(如分地区销售总额)。

# 按城市分组计算平均薪资

grouped = df.groupby('city')['salary'].mean()


# 多列聚合(同时计算均值和最大值)

result = df.groupby('department').agg({'salary': ['mean', 'max']})

3. fillna()

功能:填充缺失值(NaN)。

场景:数据清洗时处理缺失值。

# 用均值填充年龄缺失值

df['age'] = df['age'].fillna(df['age'].mean())


# 用前向填充法填充(用前一行数据填充)

df['sales'] = df['sales'].fillna(method='ffill')

4. merge()

功能:合并多个DataFrame(类似SQL的JOIN)。

场景:整合多源数据。

# 按ID合并两个表(默认内连接)

merged_df = pd.merge(df1, df2, on='id')


# 左连接(保留左表所有数据)

merged_left = pd.merge(df1, df2, on='id', how='left')

5. pivot_table()

功能:创建数据透视表,多维数据汇总。

场景:交叉分析(如分地区、分产品统计)。

# 统计不同城市和性别的平均薪资

pivot = pd.pivot_table(

    df, 

    values='salary', 

    index='city', 

    columns='gender', 

    aggfunc='mean'

)

6. value_counts()

功能:统计列中唯一值的频次。

场景:快速查看数据分布。

# 统计城市分布

city_counts = df['city'].value_counts()


# 显示占比(归一化)

city_ratio = df['city'].value_counts(normalize=True)

7. dropna()

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

场景:清理无效数据。

# 删除所有包含缺失值的行

df_clean = df.dropna()


# 删除某列缺失值

df_clean_age = df.dropna(subset=['age'])

8. astype()

功能:强制转换列的数据类型。

场景:修复数据类型错误(如字符串转数值)。

# 将字符串列转为整数

df['user_id'] = df['user_id'].astype(int)


# 将日期字符串转为datetime类型

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

9. sort_values()

功能:按指定列的值排序。

场景:排序分析(如按销售额降序)。

# 按薪资降序排列

df_sorted = df.sort_values('salary', ascending=False)


# 多列排序(先按城市升序,再按薪资降序)

df_sorted = df.sort_values(['city', 'salary'], ascending=[True, False])

10. query()

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

场景:简化复杂条件查询。

# 筛选年龄大于30且薪资高于5万的记录

filtered = df.query('age > 30 and salary > 50000')

进阶技巧

链式操作:结合多个函数连续处理数据(如 df.fillna(0).groupby('city').mean())。

lambda函数:与apply()配合实现灵活计算。

pd.to_datetime():专门处理时间序列的转换函数。

通过掌握这10个函数,您能高效完成80%的日常数据处理任务。建议结合日常实际数据集练习,深化理解。

更多相关技术内容咨询欢迎前往并持续关注好学星城论坛了解详情。

想高效系统的学习Python编程语言,推荐大家关注一个微信公众号:Python编程学习圈。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Python入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。

attachments-2022-05-rLS4AIF8628ee5f3b7e12.jpg

  • 发表于 2025-04-15 09:42
  • 阅读 ( 30 )
  • 分类:Python开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
小柒
小柒

1980 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1980 文章
  3. Pack 1163 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章