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()

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

Original: https://blog.csdn.net/weixin_35019131/article/details/115063138
Author: zhu hao
Title: dataframe去掉索引 python_python-根据级别之间的“ AND”条件删除DataFrame的多索引行…

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/678928/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球