gpt4 book ai didi

python - 如何在 pandas 中包含带有多索引过滤器的条件?

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

我有一个由多索引组成的过滤器。我只想对该多索引中包含的值应用条件。可能吗?

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, 4), index=arrays)

# this multiindex comes from a model so it is fixed and we cannot know the values in advance
fixed_multiindex = pd.MultiIndex.from_tuples([('bar','one'), ('foo', 'one')])

df_multinidex_and_condition = df.loc[(fixed_multiindex) & (df[0] > -1.3)]

错误

Output error TypeError: other must be a MultiIndex or a list of tuples

最佳答案

使用Index.isin :

df_multinidex_and_condition = df.loc[df.index.isin(fixed_multiindex) & (df[0] > -1.3)]
print (df_multinidex_and_condition)
0 1 2 3
bar one -0.217679 0.821455 1.481278 1.331864
foo one 2.672172 0.464802 0.845930 -0.503542

关于python - 如何在 pandas 中包含带有多索引过滤器的条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56868784/

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