python drop用法_python pandas DataFrame.drop用法及代码示例

本文介绍了Python Pandas库中DataFrame.drop函数的用法,包括删除行或列的示例,以及如何处理MultiIndex。drop函数允许指定标签、轴、级别等参数,可用于数据清理和结构调整。
摘要由CSDN通过智能技术生成

从行或列中删除指定的标签。

通过指定标签名称和相应的轴,或通过直接指定索引或列名称来删除行或列。使用multi-index时,可以通过指定级别来删除不同级别上的标签。

参数:

labels:single label 或 list-like要删除的索引或列标签。

axis:{0 或 ‘index’, 1 或 ‘columns’}, 默认为 0是从索引(0或‘index’)还是从列(1或‘columns’)删除标签。

index:single label 或 list-like替代指定轴(labels, axis=0相当于index=labels)。

0.21.0版中的新功能。

columns:single label 或 list-like替代指定轴(labels, axis=1相当于columns=labels)。

0.21.0版中的新功能。

level:int 或 level name, 可选参数对于MultiIndex,将从中删除标签的级别。

inplace:bool, 默认为 False如果为True,则执行就地操作并返回None。

errors:{‘ignore’, ‘raise’}, 默认为 ‘raise’如果为‘ignore’,请抑制错误并仅丢弃现有标签。

返回值:

DataFrame没有删除索引或列标签的DataFrame。

异常:

KeyError如果在所选轴中找不到任何标签。

例子:

>>> df = pd.DataFrame(np.arange(12).reshape(3, 4),

... columns=['A', 'B', 'C', 'D'])

>>> df

A B C D

0 0 1 2 3

1 4 5 6 7

2 8 9 10 11

删除列

>>> df.drop(['B', 'C'], axis=1)

A D

0 0 3

1 4 7

2 8 11

>>> df.drop(columns=['B', 'C'])

A D

0 0 3

1 4 7

2 8 11

按索引行

>>> df.drop([0, 1])

A B C D

2 8 9 10 11

删除MultiIndex DataFrame的列和/或行

>>> midx = pd.MultiIndex(levels=[['lama', 'cow', 'falcon'],

... ['speed', 'weight', 'length']],

... codes=[[0, 0, 0, 1, 1, 1, 2, 2, 2],

... [0, 1, 2, 0, 1, 2, 0, 1, 2]])

>>> df = pd.DataFrame(index=midx, columns=['big', 'small'],

... data=[[45, 30], [200, 100], [1.5, 1], [30, 20],

... [250, 150], [1.5, 0.8], [320, 250],

... [1, 0.8], [0.3, 0.2]])

>>> df

big small

lama speed 45.0 30.0

weight 200.0 100.0

length 1.5 1.0

cow speed 30.0 20.0

weight 250.0 150.0

length 1.5 0.8

falcon speed 320.0 250.0

weight 1.0 0.8

length 0.3 0.2

>>> df.drop(index='cow', columns='small')

big

lama speed 45.0

weight 200.0

length 1.5

falcon speed 320.0

weight 1.0

length 0.3

>>> df.drop(index='length', level=1)

big small

lama speed 45.0 30.0

weight 200.0 100.0

cow speed 30.0 20.0

weight 250.0 150.0

falcon speed 320.0 250.0

weight 1.0 0.8

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值