说明
Pandas 中文教程修订中,欢迎加微信 sinbam 提供建议、纠错、催更。查看更新日志
数据分析过程中,对数据的修改调整也是比较多的,最简单的如学生成绩表加一列把总分算出来。根据某一列的数据解析出指定内容,如学生成绩单有个学生家庭地址,然后把所在小区解析出来形成新的一列。
注:本文所使用的 df 和 s 是数据信息一文中的数据。
修改原理
Pandas 的数据修改是进行赋值,先把要修改的数据筛选出来,然后将同结构或者可解包的数据赋值给它:
df.Q1 = [1, 3, 5, 7, 9] * 20 # 就会把值进行修改
df.loc[1:3, 'Q1':'Q2'] = 99 # 这个范围的数据会全变成 99
修改索引名称
对索引的修改包含行索引和列索引:
# 对索引值进行修改
df.rename(columns={"Q1": "a", "Q2": "b"}) # 对表头进行修改
df.rename(index={0: "x", 1: "y", 2: "z"}) # 对索引进行修改
df.rename(index=str) # 对类型进行修改
df.rename(str.lower, axis='columns') # 传索引类型
df.rename({1: 2, 2: 4}, axis='index')
# 对索引名进行修改
s.rename_axis("animal")
df.rename_axis("animal") # 默认是列索引
df.rename_axis("limbs", axis="columns") # 指定行索引
# 多层索引时可以将type修改为class
df.rename_axis(index={'type': 'class'})
# 可以用 set_axis 进行设置修改
s.set_axis(['a', 'b', 'c'], axis=0)
df.set_axis(['I', 'II'], axis='columns')
df.set_axis(['i', 'ii'], axis='columns', inplace=True)
修改指定数据
替换数据ÿ