为了账号安全,请及时绑定邮箱和手机立即绑定

计算 pandas 系列中值之间的转换频率矩阵

计算 pandas 系列中值之间的转换频率矩阵

小怪兽爱吃肉 2022-12-27 15:40:31
我有一个熊猫系列如下:import pandas as pdpd.Series(['A', 'B', 'B', 'B', 'C', 'A'])我正在尝试计算值之间的转换频率,以便输出数据帧应如下所示: State    A    B    C A        0    1    0 B        0    2    1 C        1    0    0最好的方法是什么?
查看完整描述

1 回答

?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

您可以crosstab在系列和系列之间使用shift

s = pd.Series(['A', 'B', 'B', 'B', 'C', 'A'])


print (pd.crosstab(s, s.shift(-1)))

col_0  A  B  C

row_0         

A      0  1  0

B      0  2  1

C      1  0  0

如果你想删除轴的名称,你可以使用rename_axis:


pd.crosstab(s, s.shift(-1)).rename_axis(index=None, columns=None)

   A  B  C

A  0  1  0

B  0  2  1

C  1  0  0


查看完整回答
反对 回复 2022-12-27
  • 1 回答
  • 0 关注
  • 70 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信