gpt4 book ai didi

python - 按 multiIndex 之一的最高分位数过滤数据帧行

转载 作者:太空宇宙 更新时间:2023-11-03 15:57:45 25 4
gpt4 key购买 nike

我有一个带有 multiIndex 的数据框,我只想保留 0 级索引中列值位于最高分位数的子集记录。

在下面的示例 df 中,我想保留列 A 值在每个级别 0 索引的前 75% 分位数上的记录。这样做的 Pythonic 方式是什么?

arrays = [np.array(['bar', 'bar', 'baz', 'baz', 'foo', 'foo', 'qux', 'qux']),
np.array(['one', 'two', 'one', 'two', 'one', 'two', 'one', 'two'])]

df = pd.DataFrame(np.random.randn(8, 3), index=arrays, columns = ['A','B','C'])

谢谢

最佳答案

你是这个意思吗?

df.groupby(level=0, group_keys=False).apply(lambda g: g[g.A >= g.A.quantile(0.75)])

enter image description here

关于python - 按 multiIndex 之一的最高分位数过滤数据帧行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42275364/

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