
Pandas是Python数据分析的核心库,提供了高效的数据结构和数据处理工具。掌握Pandas的核心函数可以显著提升数据分析效率。本文介绍30个常用的Pandas函数,帮助使用Pandas做数据分析。
1. read_csv() / read_excel()
功能:从CSV或Excel文件加载数据
场景:数据导入
df = pd.read_csv('data.csv')
df = pd.read_excel('data.xlsx')功能:查看数据框前/后n行
场景:数据预览
df.head(5) # 查看前5行
df.tail(3) # 查看后3行功能:显示数据框基本信息
场景:数据概览
df.info() # 显示列名、非空值数量、数据类型等功能:生成数值列的描述性统计
场景:快速统计分析
df.describe() # 显示计数、均值、标准差、最小值、四分位数等功能:检测缺失值
场景:数据质量检查
df.isnull().sum() # 统计每列缺失值数量功能:删除重复行
场景:数据清洗
df.drop_duplicates(subset=['id'], keep='first') # 按id列去重功能:重命名列
场景:数据整理
df.rename(columns={'old_name': 'new_name'}, inplace=True)功能:按标签/位置选择数据
场景:数据筛选
df.loc[df['age'] > 30] # 选择年龄大于30的行
df.iloc[0:5, 1:3] # 选择前5行和第1-2列功能:合并多个数据框
场景:数据整合
pd.concat([df1, df2], axis=0) # 纵向合并
pd.concat([df1, df2], axis=1) # 横向合并功能:将字符串转换为日期时间
场景:时间序列处理
df['date'] = pd.to_datetime(df['date'])功能:字符串包含检测
场景:文本数据处理
df[df['name'].str.contains('John')] # 筛选名字包含John的行功能:将数值数据分箱
场景:数据离散化
df['age_group'] = pd.cut(df['age'], bins=[0,18,35,60,100],
labels=['child','young','middle','old'])功能:创建哑变量/独热编码
场景:分类变量处理
pd.get_dummies(df['gender'], prefix='gender')功能:计算列之间的相关性
场景:特征分析
df.corr() # 计算所有数值列的相关性矩阵功能:滚动窗口计算
场景:时间序列分析
df['sales'].rolling(window=7).mean() # 7天移动平均功能:时间序列重采样
场景:时间频率转换
df.resample('M').sum() # 按月汇总功能:将宽格式转换为长格式
场景:数据重塑
pd.melt(df, id_vars=['id'], value_vars=['Q1','Q2','Q3','Q4'])功能:将长格式转换为宽格式
场景:数据透视
df.pivot(index='date', columns='product', values='sales')功能:基于分位数分箱
场景:数据离散化
df['income_level'] = pd.qcut(df['income'], q=4,
labels=['low','medium','high','very_high'])功能:将数据保存到文件
场景:结果输出
df.to_csv('output.csv', index=False)
df.to_excel('output.xlsx', sheet_name='Sheet1')功能:对DataFrame的行或列应用自定义函数
场景:实现复杂的数据转换或计算
# 示例:计算销售额的增值税(税率13%)
df['tax'] = df['sales'].apply(lambda x: x * 0.13)功能:按指定列分组并进行聚合计算
场景:分组统计分析
# 按产品类别统计平均价格和总销量
result = df.groupby('category').agg({'price':'mean', 'quantity':'sum'})功能:填充或替换缺失值
场景:数据清洗中的缺失值处理
# 用中位数填充缺失的价格数据
df['price'] = df['price'].fillna(df['price'].median())功能:合并多个DataFrame
场景:多表关联查询
# 按用户ID合并订单表和用户信息表
merged_df = pd.merge(orders_df, users_df, on='user_id', how='left')功能:创建数据透视表
场景:多维数据交叉分析
# 统计不同地区和产品类别的平均销售额
pivot = pd.pivot_table(df, values='sales', index='region', columns='category', aggfunc='mean')功能:统计唯一值出现频次
场景:查看数据分布情况
# 统计不同教育水平的员工数量
education_counts = df['education'].value_counts()功能:删除包含缺失值的行或列
场景:清理无效数据
# 删除所有列都缺失的行
clean_df = df.dropna(how='all')功能:转换列的数据类型
场景:数据格式标准化
# 将字符串类型的日期转换为datetime类型
df['date'] = df['date'].astype('datetime64')功能:按列值排序
场景:数据排序分析
# 按销售额降序排列
sorted_df = df.sort_values('sales', ascending=False)功能:通过表达式筛选数据
场景:简化复杂条件查询
# 筛选年龄在25-35岁之间的女性用户
filtered = df.query('age >= 25 and age <= 35 and gender == "female"')掌握这30个核心函数,能够高效处理90%以上的pandas数据分析任务。在实际业务场景中逐步掌握这些函数的灵活应用。
“无他,惟手熟尔”!有需要的用起来。
如果你觉得这篇文章有用,欢迎点赞、转发、收藏、留言、推荐❤!
本文分享自 Nicholas与Pypi 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!