最佳答案
我在熊猫数据框中的数据如下:
df1 = pd.DataFrame({'A':['yes','yes','yes','yes','no','no','yes','yes','yes','no'],
'B':['yes','no','no','no','yes','yes','no','yes','yes','no']})
我的数据是这样的
----------------------------
index A B
0 yes yes
1 yes no
2 yes no
3 yes no
4 no yes
5 no yes
6 yes no
7 yes yes
8 yes yes
9 no no
-----------------------------
我想把它转换成另一个数据帧。预期的输出可以在下面的 python 脚本中显示:
output = pd.DataFrame({'A':['no','no','yes','yes'],'B':['no','yes','no','yes'],'count':[1,2,4,3]})
我的预期输出是这样的
--------------------------------------------
index A B count
--------------------------------------------
0 no no 1
1 no yes 2
2 yes no 4
3 yes yes 3
--------------------------------------------
实际上,我可以通过使用以下命令来找到所有的组合并计数它们: mytable = df1.groupby(['A','B']).size()
然而,结果是这样的组合在一个单独的列中。我希望将组合中的每个值分成不同的列,并为计数结果再添加一列。有可能做到吗?我可以听听你的建议吗?先谢谢你。