如何从二维DataFrame中删除指定列或行(以删除dog列为例)
删除Pandas DataFrame中的列(以删除dog列为例)
针对你给出的DataFrame,用drop()方法删除dog列有两种清晰的写法:
方法1:指定列名+axis参数
axis=1代表操作对象是列(默认axis=0是操作行),代码如下:
# 返回删除列后的新DataFrame,原DataFrame不变 new_df = df.drop('dog', axis=1)
方法2:用columns参数直接指定(更直观)
这种写法不用记axis参数,直接明确要删的列:
new_df = df.drop(columns='dog')
如果想直接修改原DataFrame
如果不想生成新的DataFrame,而是直接在原数据上删除,加上inplace=True参数:
# 直接修改原df,无返回值 df.drop('dog', axis=1, inplace=True) # 或者用columns参数的写法 df.drop(columns='dog', inplace=True)
执行完上面任意一种操作后,你就能得到去掉dog列的目标DataFrame:
cat hedgehog time 0 1 0 1 2 1
之前你用drop()没成功,大概率是没指定axis=1或者columns参数——默认情况下drop()是按行(axis=0)删除的,它会去找名为dog的行索引,自然找不到,所以会报错或者没效果。
内容的提问来源于stack exchange,提问作者ataraxis
相关产品推荐
相关产品推荐

