一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第10天, 点击查看活动详情 。
说完Dataframe的查询操作,这篇文章就来介绍一下Dataframe数据的修改及删除操作。
行列索引的修改
Dataframe对象提供了
rename()
方法修改行索引、列索引,默认修改行索引,可以指定columns参数修改列索引,具体使用方法如下:
# 修改指定行索引
df.rename({1:"one", 2:"two"}, inplace=True)
# 修改指定列索引
df.rename(columns={"city": "address"}, inplace=True)
结果输出如下:
参数inplace=True
表示在原来的 DataFrame 上进行修改。
元素值的修改
之前的文章Python数据分析之 Pandas Dataframe数据查询说到可以通过loc、iloc、at、iat等方法获取指定位置的值,修改其实也是通过这些方法先指定某个位置,然后进行赋值即可修改,例如:
# 修改1-2行age和city列的数据
df.loc[1:2, ["age","city"]] = [["22", "北京"],["21", "济南"]]
# 修改gender列 man-->男
df.loc[df["gender"]=="man", "gender"] = "男"
输出结果如下:
行和列的删除操作
DataFrame提供了drop()
方法进行行和列的删除操作。
具体用法和参数如下:
df.drop(labels=None, axis=0, index=None, columns=None, inplace=False)
labels:指定要删除的行或列,可以使用列表指定多个行/列索引
axis:取值为0和1,代表行和列,默认为0,表示要删除的是行,设置为1表示删除列
index:指定要删除的行,可以使用列表指定多个行索引
columns:指定要删除的列,同样可以使用列表指定多个列索引
inplace:默认为False,设置为True表示在原 DataFrame 上进行修改
具体通过代码看下:
# 删除单行
df.drop(4, inplace=True)
# 删除多行
df.drop([1,3], inplace=True)
# 删除多列
df.drop(["gender","city"], axis=1, inplace=True) # 或 df.drop(columns=["genger","city"], inplace=True)
原创不易,如果小伙伴们觉得有帮助,麻烦点个赞再走呗~
最后,感谢女朋友在工作和生活中的包容、理解与支持 !
Python