说到数据分析,pandas绝对是Python里最强大的库之一。
这个神器不光能读写各种格式的数据文件,还能帮你处理那些杂乱无章的数据。
我用了好几年pandas,真觉得它就像是数据处理界的瑞士军刀,干啥都顺手。
认识DataFrame - 数据的“表格之家”
DataFrame可以说是pandas最基本的数据结构,把它想象成Excel表格就对了。每一列都能存不同类型的数据,比如数字、文本、日期啥的。来看个简单例子:
import pandas as pd
# 创建一个简单的DataFrame
data = {
'姓名': ['小明', '小红', '小张'],
'年龄': [18, 20, 19],
'成绩': [85, 92, 78]
}
df = pd.DataFrame(data)
print(df)
温馨提示:DataFrame的索引默认是从0开始的数字,不过咱们可以用set_index()换成别的,比如用学号当索引。
数据清洗 - 处理“脏数据”的绝招
实际工作中遇到的数据经常乱七八糟的,有缺失值、重复值、格式不统一… 好在pandas给咱们提供了一堆好用的工具:
# 处理缺失值
df.dropna() # 扔掉有缺失值的行
df.fillna(0) # 用0填充缺失值
# 去重
df.drop_duplicates()
# 改变数据类型
df['成绩'] = df['成绩'].astype(float)
数据筛选 - 找到你要的那些行
筛选数据就像是在超市挑水果,得挑出符合咱们要求的。pandas的布尔索引特别好用:
# 找出成绩大于80分的同学
high_score = df[df['成绩'] > 80]
# 多个条件一起用
good_students = df[(df['成绩'] > 80) & (df['年龄'] < 20)]
温馨提示:用&和|组合条件的时候别忘了加括号,不然容易出bug。
数据分组统计 - 发现数据里的秘密
groupby 简直就是数据分析的大杀器,能帮咱们快速统计各种指标:
# 按年龄分组,算平均成绩
avg_score = df.groupby('年龄')['成绩'].mean()
# 还能同时算多个统计值
stats = df.groupby('年龄').agg({
'成绩': ['mean', 'max', 'min'],
'姓名': 'count'
})
数据可视化 - 让数据更有趣
pandas自带的画图功能其实挺好用的,三两行代码就能整出漂亮的图表:
# 画柱状图
df['成绩'].plot(kind='bar')
# 画折线图
df.plot(x='姓名', y='成绩', kind='line')
对了,要是想画更漂亮的图,可以配合matplotlib使用,效果更好。
数据分析说白了就是从杂乱的数据中找出有用的信息。掌握了pandas,处理数据就跟玩儿似的,又快又方便。建议动手敲敲代码,光看不练是学不会的。
还有个小技巧,就是在用pandas的时候记得查官方文档,里面有特别多实用的函数等着你去发现呢!
领取专属 10元无门槛券
私享最新 技术干货