Category SubCategory Month Value
A A1 Jan 1
A A1 Feb 2
A A1 Mar 3
A A2 Jan 2
A A2 Feb 3
A A2 Mar 5
B B1 Jan 1
B B1 Feb 6
B B1 Mar 7
B B2 Jan 3
B B2 Feb 6
B B2 Mar 7
我有一个像这样的 pandas df 示例。我想计算子组类别 A1 和 A2、B1 和 B2 之间的相关系数,但不是 A1 和 B1 等之间的相关系数。我的最终目标是得到一个如下表:
A1 A2 B1 B2
A1 1.0000 0.9820
A2 0.9820 1.0000
B1 1.0000 0.9963
B2 0.9963 1.0000
有人可以帮我编写Python代码吗?
显然,这个为每个子类别提供了 1 的正确值
df.groupby('SubCategory').corr()
最佳答案
第一个是pivot
问题,然后只需使用corr
pd.concat([x.pivot('Month','SubCategory','Value').corr() for _,x in df.groupby('Category')])
A1 A2 B1 B2
SubCategory
A1 1.000000 0.981981 NaN NaN
A2 0.981981 1.000000 NaN NaN
B1 NaN NaN 1.000000 0.996271
B2 NaN NaN 0.996271 1.000000
关于python - 如何计算多变量 1 列的相关系数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53755029/