gpt4 book ai didi

python - Pandas Multiindex 数据框删除行

转载 作者:行者123 更新时间:2023-11-28 20:36:20 25 4
gpt4 key购买 nike

我有如下 Multiiindex DF:

tuples = list(zip(*[['a', 'a', 'b', 'b'], ['c', 'd', 'c', 'd']]))
index = pd.MultiIndex.from_tuples(tuples, names=['i1', 'i2'])
df = pd.DataFrame([5, 6, 7, 8], index=index[:4], columns=['col'])

col
i1 i2
a c 5
d 6
b c 7
d 8

想要保留索引(0 级)在

idx_to_keep = ['a']

应该是一个简单的任务,但我想不出别的办法

idx_to_drop = np.setdiff1d(pd.unique(df.index.levels[0]), idx_to_keep)
df.drop(idx_to_drop, inplace = True)

col
i1 i2
a c 5
d 6

我可以做得更好吗?

最佳答案

一种方法是使用index方法get_level_values():

df
col
i1 i2
a c 5
d 6
b c 7
d 8

df[df.index.get_level_values(0).isin(idx_to_keep)]
col
i1 i2
a c 5
d 6

关于python - Pandas Multiindex 数据框删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45333949/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com