一起养成写作习惯!这是我参与「掘金日新计划 · 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

    私信
    1,482