gpt4 book ai didi

python - 通过 pandas 数据框将双组打印为二维数组

转载 作者:太空狗 更新时间:2023-10-30 00:59:31 25 4
gpt4 key购买 nike

我想将具有 2 个分组依据的单值聚合结果显示到一个表中。

这样

df.groupby(['colA', 'colB']).size

会产生:

   B1  B2  B3  B4 
A1 s11 s12 s13 ..
A2 s21 s22 s23 ..
A3 s31 s32 s33 ..
A4 .. .. .. s44

执行此操作的快速简便方法是什么?

编辑:这是一个例子。我有所有用户的登录名,我想显示每个用户和天的登录数(=行数)

Day,User
1,John
1,John
1,Ben
1,Sarah
2,Ben
2,Sarah
2,Sarah

应该产生:

D\U John  Ben  Sarah
1 2 1 1
2 0 1 2

最佳答案

使用:

df.groupby(['colA', 'colB']).size().unstack()

例子:

df = pd.DataFrame(np.transpose([np.random.choice(['B1','B2','B3'], size=10),
np.random.choice(['A1','A2','A3'], size=10)]),
columns=['A','B'])

df

A B
0 B3 A1
1 B1 A2
2 B3 A3
3 B1 A3
4 B2 A2
5 B3 A3
6 B3 A1
7 B2 A1
8 B1 A3
9 B3 A3

现在:

df.groupby(['A','B']).size().unstack()

B A1 A2 A3
A
B1 NaN 1.0 2.0
B2 1.0 1.0 NaN
B3 2.0 NaN 3.0

现在更新您的帖子有数据:

df.groupby(['Day','User']).size().unstack().fillna(0)

User Ben John Sarah
Day
1 1.0 2.0 1.0
2 1.0 0.0 2.0

关于python - 通过 pandas 数据框将双组打印为二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40683162/

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