Pandas,一个神奇的 Python 库!
说到数据处理,我就想到了熊猫,不是动物园里那只可爱的大家伙,而是Python世界里的 Pandas库。它就像是Excel的超级加强版,帮你轻松处理各种数据,从小小的CSV文件到庞大的数据集,都不在话下。
数据结构大揭秘
Pandas库里最常用的两个数据结构,一个叫Series(数据系列),另一个叫DataFrame(数据框)。Series就像是一个带标签的列表,DataFrame更像是一张Excel表格。 import pandas as pd
# 创建一个Series
grades = pd.Series([85, 92, 78, 95], index=['小明', '小红', '小张', '小李'])
print(grades)
# 创建一个DataFrame
data = {
'姓名': ['小明', '小红', '小张'],
'年龄': [18, 17, 19],
'成绩': [85, 92, 78]
}
df = pd.DataFrame(data)
print(df)
温馨提示:创建DataFrame时,字典的每个键值对都会变成一列数据,键是列名,值是列数据。
数据读写有妙招
在现实工作中,数据往往存在各种文件里。Pandas能轻松读取多种格式的文件,比如CSV、Excel、JSON等。 # 读取CSV文件
df = pd.read_csv('学生信息.csv')
# 保存为Excel文件
df.to_excel('学生信息.xlsx', index=False)
有个小插曲,我第一次用read_csv时,文件里有中文就报错了。原来要设置encoding参数:pd.read_csv('文件.csv', encoding='utf-8')
。
数据处理神器
数据处理最烦人的就是处理缺失值和重复值了,但用Pandas分分钟搞定: # 处理缺失值
df.fillna(0) # 用0填充空值
df.dropna() # 删除含有空值的行
# 删除重复行
df.drop_duplicates()
# 数据筛选
high_score = df[df['成绩'] > 90] # 筛选成绩大于90分的
数据分析一把手
统计分析是Pandas的强项,几行代码就能算出各种统计值: # 基础统计
print(df['成绩'].mean()) # 平均分
print(df['成绩'].max()) # 最高分
print(df['成绩'].min()) # 最低分
# 分组统计
df.groupby('班级')['成绩'].mean() # 各班平均分
温馨提示:用groupby时要小心数据类型,数字型和字符串型分组结果可能不一样。
数据可视化很简单
Pandas还能直接画图,虽然不如专门的可视化库精细,但胜在方便快捷: # 画柱状图
df['成绩'].plot(kind='bar')
# 画折线图
df.plot(x='日期', y='成绩', kind='line')
写代码这么多年,我发现Pandas就像是数据处理界的瑞士军刀,上手容易威力大。不过也要提醒下,刚开始学的时候别太贪多,从最基础的增删改查开始,慢慢来,总会玩得溜的。
记住几个实用技巧:多用tab键自动补全来探索功能;遇到不会的就help()
查文档;代码多打打print看中间结果。学习曲线可能有点陡,但跨过去就发现新天地了!