首页 > 解决方案 > 如何将数据框更改为简单的数据框?

问题描述

我制作了一个 corr 数据框。

import pandas as pd

lst = [[1,2,3,4,5,6,7],
        [10,15,20,25,50,55,60],
        [20,50,1,4,29,351,1],
        [-1,-20,-30,-45,-50,-55,-70]]

df = pd.DataFrame(lst, index = ['a','b','c','d']).T
corr = df.corr(method = 'pearson')
print(corr)

          a         b         c         d  
a  1.000000  0.966282  0.347232 -0.983120  
b  0.966282  1.000000  0.414710 -0.917002  
c  0.347232  0.414710  1.000000 -0.247203  
d -0.983120 -0.917002 -0.247203  1.000000 

我想通过 apply 方法进行这样的更改。

a a 1.000000  
a b 0.966282  
a c 0.347232  
a d 0.983120  
b a 0.966282  
b b 1.000000  
....

如何使用 apply 函数转换此数据框?

标签: pythondataframetransformapplycorrelation

解决方案


pandas.DataFrame.unstack()与 一起使用reset_index

corr.unstack().reset_index()

输出:

   level_0 level_1         0
0        a       a  1.000000
1        a       b  0.966282
2        a       c  0.347232
3        a       d -0.983120
4        b       a  0.966282
5        b       b  1.000000
6        b       c  0.414710
7        b       d -0.917002
8        c       a  0.347232
9        c       b  0.414710
10       c       c  1.000000
11       c       d -0.247203
12       d       a -0.983120
13       d       b -0.917002
14       d       c -0.247203
15       d       d  1.000000

推荐阅读