我有两个来自.csv文件的数据集,现在是熊猫数据帧:
数据集1: 20 x 1000(行x列)
数据集2: 130 x 1000(行x列)
使用Python,我想计算两个数据集之间的所有列的Pearson相关性,所以最终得到的是 20 x 130(行x列)单元中具有相关系数的矩阵。
我的目标是查看1000列中所有数据的20行和130行之间是否有相应的群集。
df1.shape
(130,1000)
df2.shape
(20,1000)
我的目标:
df_output.shape
(130,20)
我尝试了以下方法:一次计算一个像元的相关系数,从而计算列之间的皮尔逊相关性(1000)。
s2 = df2.T.iloc[0,:]
s1 = df1.T.iloc[0,:]
s1.corr(s2, method='pearson')
然后我尝试遍历矩阵的行。
corlist = []
for j in range(20):
s2 = df2.T.iloc[j,:]
for i in range(130):
s1 = df1.T.iloc[i,:]
cor = s1.corr(s2, method='pearson')
corlist.append(cor)
#np.savetxt('')
有没有更简单的方法可以做到这一点? 谢谢。