Python Pandas库入门:数据分析的瑞士军刀
本文适合零基础学习Pandas的开发者,涵盖核心概念与实战代码
一、Pandas简介
Pandas是Python的核心数据分析库,提供高效数据结构:
- Series:一维带标签数组,类似增强版列表
- DataFrame:二维表格型数据结构,核心分析工具
数学关系可表示为:
$$
\text{DataFrame} = {\text{Series}_1, \text{Series}_2, ..., \text{Series}_n}
$$
二、环境安装
pip install pandas numpy # 通常搭配NumPy使用
三、核心操作实战
1. 创建DataFrame
import pandas as pd
data = {
'姓名': ['张三', '李四', '王五'],
'年龄': [25, 30, 28],
'薪资': [15000, 22000, 18000]
}
df = pd.DataFrame(data)
print(df)
输出:
姓名 年龄 薪资
0 张三 25 15000
1 李四 30 22000
2 王五 28 18000
2. 数据筛选
# 选择年龄>26的记录
print(df[df['年龄'] > 26])
# 计算平均薪资(使用向量化操作)
avg_salary = df['薪资'].mean()
print(f"平均薪资: {avg_salary:.2f}") # 输出: 18333.33
3. 数据清洗
# 处理缺失值
df.loc[1, '年龄'] = None # 模拟缺失值
df['年龄'] = df['年龄'].fillna(df['年龄'].median()) # 中位数填充
4. 数据聚合
# 按年龄段分组统计
bins = [20, 26, 30]
labels = ['20-26岁', '27-30岁']
df['年龄段'] = pd.cut(df['年龄'], bins=bins, labels=labels)
print(df.groupby('年龄段')['薪资'].mean())
四、文件读写(CSV示例)
# 保存到CSV
df.to_csv('employee_data.csv', index=False)
# 从CSV读取
new_df = pd.read_csv('employee_data.csv')
print(new_df.head(2)) # 显示前2行
五、进阶技巧
- 时间序列处理
df['入职日期'] = pd.date_range('20230101', periods=3)
df['年份'] = df['入职日期'].dt.year
- 数据可视化集成
df.plot(kind='bar', x='姓名', y='薪资', title='薪资分布')
六、学习资源推荐
- 官方文档
- 实战书籍:《利用Python进行数据分析》
- 常用方法速查表:
操作 方法 数据选择 loc[],iloc[]合并数据 pd.concat()透视表 pivot_table()
下期预告:Pandas高级应用——处理千万级数据优化技巧
Tip:多练习groupby()和apply()方法,这是数据分析的核心武器!

(图:Pandas数据处理流程)
1253

被折叠的 条评论
为什么被折叠?



