Python变量与formu的相关性

2024-09-30 16:24:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在研究一个由150个观测值和1500个变量组成的光谱医学数据阵列,存储如下(所有这些数据都是浮点数):

blood = ([[sample1_var1..., sample1_var1500],[sample2_var1..., sample2_var1500]..., [sample_150_var1..., sample150_var1500]])

我想获得每个变量和另一个变量之间的相关系数,存储在150个观测值的列表中,如:

 ery = ([1.524, 1.987..., 1.369])

我需要得到var1ery之间的‘r’相关系数,然后是var2ery。等等,有没有一个简单的方法来做到这一点(也许有一个for循环)?你知道吗


Tags: 数据sample方法列表光谱医学浮点数var1
1条回答
网友
1楼 · 发布于 2024-09-30 16:24:58

我对你的问题的理解是:

  • blood有1500个变量和150个观测值
  • ery是一个1d数组/列表(在问题中它实际上是一个1元素元组)
  • 您想要找到1500个相关(每个变量在blood到向量ery的相关)

使用熊猫和NumPy:

import pandas as pd
import numpy as np
np.random.seed(123)

blood = pd.DataFrame(np.random.rand(150,1500)).add_prefix('var')
# blood.shape = (150, 1500)
ery = pd.Series(np.random.rand(150))
print(blood.corrwith(ery))
var0      -0.12897
var1      -0.16448
var2       0.02315
var3      -0.09275
var4      -0.00337
var5       0.00094
var6      -0.13884
var7      -0.04296
var8       0.11895
var9       0.01626
var10      0.04122
var11     -0.04241

var1488    0.12936
var1489   -0.14607
var1490    0.14229
var1491    0.06072
var1492   -0.00815
var1493    0.03401
var1494   -0.00994
var1495   -0.10997
var1496    0.05980
var1497   -0.00930
var1498    0.05205
var1499   -0.11258
dtype: float64

疑难解答:它有助于指定问题中使用的数据结构。你现在拥有东西的方式是模棱两可的。如果ery是一个列表,则需要blood.corrwith(pd.Series(ery))。你知道吗

相关问题 更多 >