gpt4 book ai didi

python - 如何使用基于整数位置的索引访问 MultiIndex 数据框中的行

转载 作者:行者123 更新时间:2023-12-05 03:35:00 28 4
gpt4 key购买 nike

假设我有以下名为 df 的 MultiIndex DataFrame:

arrays = [["bar", "bar", "baz", "baz", "foo", "foo", "qux", "qux"],
["one", "two", "one", "two", "one", "two", "one", "two"],]
tuples = list(zip(*arrays))

index = pd.MultiIndex.from_tuples(tuples, names=["first", "second"])

df = pd.Series(np.random.randn(8), index=index)

例如,如果我想访问与 baz 关联的所有行,我会使用横截面:df.xs(('baz'))

但是有没有一种方法可以通过引用第一层中的整数位置来访问行,类似于单索引数据帧的iloc?在我的示例中,我认为这将是索引位置 1。

我尝试使用 .loc 的解决方法,如下所示:

(df.loc[[df.index.get_level_values(0)[1]]]

但这会返回与 bar 关联的第一组行。我认为这是因为整数位置 1 仍在 bar 内。我必须引用 2 才能到达 baz

我可以让位置 0、1、2 和 3 分别引用 bar、baz、foo 和 qux 吗?

最佳答案

您可以使用级别

df.xs(df.index.levels[0][1])
second
one -1.052578
two 0.565691
dtype: float64

更多详情

df.index.levels[0][0]
'bar'
df.index.levels[0][1]
'baz'

关于python - 如何使用基于整数位置的索引访问 MultiIndex 数据框中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69983016/

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