Python 在pearsonr测试的数据帧上迭代

Python 在pearsonr测试的数据帧上迭代,python,pandas,pearson-correlation,Python,Pandas,Pearson Correlation,尝试循环通过从第二列开始的数据帧,对返回进行pearsonr测试。数据集是来自雅虎财经的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) 考虑这个小例子

尝试循环通过从第二列开始的数据帧,对返回进行pearsonr测试。数据集是来自雅虎财经的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]
请注意,df中col的
形式的循环将迭代列标签,而不是列值作为序列。所以用

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

谢谢,但是我怎样才能从第二列开始呢?要从第二列开始,请使用
df.columns[1:3]
。这将返回第二列和第三列标签,因为Python使用基于0的索引(即0是第一个索引)