【发布时间】:2016-04-05 11:34:06
【问题描述】:
我有一个看起来像这样的数据框(但更长...):
imd code sum
0 1 010101 1048171
1 2 010101 911003
2 3 010101 852023
3 4 010101 790893
4 5 010101 923344
5 6 010101 681473
6 7 010101 600303
7 8 010101 497439
8 9 010101 496209
9 10 010101 388457
10 1 010102 26284506
11 2 010102 23567345
12 3 010102 24933988
13 4 010102 22762737
14 5 010102 23205722
15 6 010102 21874259
16 7 010102 21604496
17 8 010102 16723338
18 9 010102 17691183
19 10 010102 15202808
现在我想计算imd 和sum 之间的相关性对于数据框中code 的每个唯一值。所以在这个例子中,imd 和sum 之间的相关性对于代码010101,然后对于代码010102 等等。
然后我想生成具有最高相关性的代码的排名列表。所以是这样的:
code correlation
010102 0.44
010101 0.38
....
最好的方法是什么?我知道如何计算整个数据帧的imd 和sum 之间的相关性:
df[['imd','sum']].corr()
但不是如何为作为唯一代码的数据帧的每个切片重复执行此操作。
我想我可以为每个唯一的代码值创建一个新的数据框,计算imd 和sum 之间的相关性,然后创建一个中间数据结构来保存相关值?
【问题讨论】: