gpt4 book ai didi

python - 获取 Pandas 交叉表中的每个元素

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

我有下面给出的数据集:

a,b,c
1,1,1
1,1,1
1,1,2
2,1,2
2,1,1
2,2,1

我用 pandas 创建了交叉表:

 cross_tab = pd.crosstab(index=a, columns=[b, c], rownames=['a'], colnames=['b', 'c'])

我的交叉表作为输出给出:

b        1     2
c 1 2 1
a
1 2 1 0
2 1 1 1

我想针对给定的每个 a、b 和 c 值迭代此交叉表。我怎样才能获得诸如 cross_tab[a=1][b=1, c=1] 之类的值?谢谢。

最佳答案

您可以使用 slicers :

a,b,c = 1,1,1
idx = pd.IndexSlice
print (cross_tab.loc[a, idx[b,c]])
2

您还可以通过 DataFrame.unstack reshape df , reorder_levels然后使用 loc :

a = cross_tab.unstack().reorder_levels(('a','b','c'))
print (a)
a b c
1 1 1 2
2 1 1 1
1 1 2 1
2 1 2 1
1 2 1 0
2 2 1 1
dtype: int64

print (a.loc[1,1,1])
2

关于python - 获取 Pandas 交叉表中的每个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45534584/

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