在数据帧的两列之间运行基本关联

时间:2016-01-29 22:32:27

标签: python python-2.7 pandas

我试图能够使用来自指定列的数据从pandas数据帧生成相关矩阵

这是我的csv数据:

col0,col1,col2,col3,col4
122468.9071,1417464.203,3546600,151804924,10839476
14691.1139,170036.0407,103847,19208604,2365065

以下是我创建的两个数据框:

df1 = pd.read_csv('c:/temp/test_1.csv', usecols=[0])
df2 = pd.read_csv('c:/temp/test_1.csv', usecols=[1])

我尝试了corr和corrwith函数并得到以下错误:

Corr Function:

print df1.corr(df2)

Result: 

Error: Could not compare ['pearson'] with block values

Corrwith:

print df1.corrwith(df2)

Result:    

col0   NaN
col1   NaN
dtype: float64

如您所见,数据集中没有空值,float64应该能够处理小数。

非常感谢任何有关解决方案的帮助。

提比利乌斯

1 个答案:

答案 0 :(得分:5)

如果您尝试在两列之间创建关联矩阵,我建议将它们放入相同的数据框中,如下所示:

df = pd.read_csv('c:/temp/test_1.csv', usecols=[0,1])
df.corr()

我自己将数据加载到csv中,得到了所有1的2x2相关矩阵,这是预期的。

您可以在此处找到有关熊猫相关性的文档:http://pandas.pydata.org/pandas-docs/stable/computation.html#correlation