迭代数据帧以进行 pearsonr 测试

iterating over dataframe for a pearsonr test

尝试从第二列开始遍历数据帧以对 returns 进行 pearsonr 测试。数据集只是来自 yahoo finance 的 nvidia

df=pd.read_csv('NVDA.csv',dtype={'label':str})

for column in df.loc[:,0:3]:
     pearson_coefficient,p_value=pearsonr(column,df['Volume'])
print('Pearson Coefficient: ',pearson_coefficient)

考虑这个小例子:

In [10]: df = pd.DataFrame(np.random.randint(10, size=(6,4)))

In [11]: [col for col in df.loc[:, 0:3]]
Out[11]: [0, 1, 2, 3]

请注意,for col in df 形式的循环遍历 列标签 ,而不是作为系列的列值。所以改用

for column in df.columns[0:3]:
     pearson_coefficient, p_value = pearsonr(df[column],df['Volume'])