我的数据框B中有以下数据:
F1 F2 Count
A C 5
B C 2
B U 6
C A 1
我想用它们做一个方阵,结果是:
A B C U
A 0 0 6 0
B 0 0 2 6
C 6 2 0 0
U 0 6 0 0
我最初使用pd.crosstab()
,但矩阵中缺少F1/F2中的一些变量
AC=5 CA=1,因此输出应为6
另外,pdcrosstab()不识别BU = UB
等
有人能帮忙吗?我对python基本上是新手
顺便说一句,这是我的代码:
wow=pd.crosstab(B.F1,
B.F2,
values=B.Count,
aggfunc='sum',
).rename_axis(None).rename_axis(None, axis=1)
您可以将列
F1
和F2
分类,并使用crosstab
进行工作备注:在构造数据帧时指定列数据类型更有效
您可以
pd.concat
、wow
和wow.T
然后groupby
索引和sum
再次:您可以将
'F1'
和'F2'
交换的数据帧附加到原始数据帧然后您可以使用
pivot_table
:或
crosstab
:最后删除列和索引名:
结果:
相关问题 更多 >
编程相关推荐