我试图能够使用来自指定列的数据从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应该能够处理小数。
非常感谢任何有关解决方案的帮助。
提比利乌斯
答案 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