dataframe去掉索引 python_python-根据级别之间的“ AND”条件删除DataFrame的多索引行...

我希望能够使用多个级别条件(通过逻辑AND连接条件)从多索引数据帧对象中删除行.

考虑以下给出的pandas dataframe 对象:

import pandas as pd

df = pd.DataFrame(data = [[1,'x'],[2,'x'],[1,'y'],[2,'y']],

index=pd.MultiIndex(levels=[['A','B'],['a','b']],

labels=[[0,1,0,1],[0,1,1,0]],

names=['idx0','idx1']))

print(df)输出:

0 1

idx0 idx1

A a 1 x

B b 2 x

A b 1 y

B a 2 y

我希望消除“ idx0” ==’A’和’idx1’==’a’所在的行,因此最终结果是:

0 1

idx0 idx1

B b 2 x

a 2 y

A b 1 y

在我看来,这似乎无法使用df.drop()方法完成.给出正确结果的“回旋”方式是:

df = pd.concat([df.drop(labels='A',level=0),df.drop(labels='a',level=1)])

df = df.drop_duplicates()

但我认为必须有更好的方法…

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值