pandas—删除某行或某列数据

首先,创建一个DataFrame格式数据作为举例数据。

# 创建一个DataFrame格式数据
data = {'a': ['a0', 'a1', 'a2'],
        'b': ['b0', 'b1', 'b2'],
        'c': [i for i in range(3)],
        'd': 4}
df = pd.DataFrame(data)
print('举例数据情况:\n', df)

在这里插入图片描述
注:DataFrame是最常用的pandas对象,使用pandas读取数据文件后,数据就以DataFrame数据结构存储在内存中。

pandas数据行列删除,主要用到drop()和del函数,用法如下:
1、drop()函数
语法:
DataFrame.drop(labels,axis=0,level=None,inplace=False,errors=’raise’)

参数说明
labels接收string或array,代表要删除的行或列的标签(行名或列名)。无默认值
axis接收0或1,代表操作的轴(行或列)。默认为0,代表行;1为列。
level接收int或索引名,代表标签所在级别。默认为None
inplace接收布尔值,代表操作是否对原数据生效,默认为False
errorserrors='raise’会让程序在labels接收到没有的行名或者列名时抛出错误导致程序停止运行,errors='ignore’会忽略没有的行名或者列名,只对存在的行名或者列名进行操作。默认为‘errors=‘raise’’。

实例1:删除d列

df1 = df.drop(labels='d', axis=1)
print('删除d列前:\n', df)
print('删除d列后:\n', df1)

在这里插入图片描述
实例2:删除第一行

df2 = df.drop(labels=0)
print('删除前:\n', df)
print('删除列:\n', df2)
​​​​​​​

在这里插入图片描述
实例3:同时删除多行多列

df3 = df.drop(labels=['a', 'b'], axis=1) # 同时删除a,b列
df4 = df.drop(labels=range(2)) # 等价于df.drop(labels=[0,1])
print('删除前:\n', df)
print('删除多列(a,b):\n', df3)
print('删除多行(第1,2行):\n', df4)

在这里插入图片描述
注意:(1)、删除列的操作时,axis参数不可省,因为axis默认为0(行);
(2)、没有加入inplace参数,默认不会对原来数据进行修改,需要将结果赋值给新的变量。

2、del函数
语法:del df[‘列名’]
此操作会对原数据df进行删除,且一次只能删除一列。
正确用法:

del df['d']
print('原地删除d列后:\n', df)

在这里插入图片描述
错误用法:

del df[['a', 'b']]
print(df)

在这里插入图片描述
以上就是pandas删除某行某列数据的用法,drop()相对于del()来说,灵活性更高,更为实用。

  • 25
    点赞
  • 130
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值