2017-04-25 55 views
0

我目前正在研究一個包含不同音樂藝術家的評級的CSV,我正在使用大熊貓將其轉化爲DataFrame進行關聯。問題是,當我轉置DataFrame並使用.corr()函數時,它返回一個空的DataFrame,並且轉置的相關性就是我所需要的。任何想法爲什麼這樣做?這裏是我的代碼:DataFrame的移調不相關?

import pandas as pd 
musicRatingsFile = "https://raw.githubusercontent.com/aportell/machine-learning/master/MusicRatings.csv" 
musicRatingsData = pd.read_csv(musicRatingsFile) 
df = DataFrame(musicRatingsData) 
df2 = df.dropna() 
df3 = df2.transpose() 
df3.corr() 
+3

什麼是'df3.dtypes'?我懷疑他們都是對象。你可以嘗試'df3.astype('float')',但我們首先需要更多地瞭解你的數據集。你可以發佈樣本嗎? – ayhan

+3

另外,驗證'df2 = df.dropna()'不是從DataFrame中刪除所有行。 – root

+0

我編輯過,以便csv是一個鏈接,以查看。我檢查了'df3.types',它們都是對象。 'df2 = df.dropna()'不會刪除所有行。 –

回答

2

您有一個包含字符串的列(您可能希望該列的索引),你也有兩列處理,即使它們是數字爲對象。您可以通過以下方式解決該問題:

cor = df2.set_index('student').astype('float').T.corr() 

cor.head() 
Out: 
student    Colton  Bryce Mikaela Goldrich Joe Goulet \ 
student                
Colton   1.000000 -0.467859   -0.083099 -0.195272 
Bryce   -0.467859 1.000000   0.008893 0.391781 
Mikaela Goldrich -0.083099 0.008893   1.000000 0.341112 
Joe Goulet  -0.195272 0.391781   0.341112 1.000000 
Trevor Martineau 0.174185 0.444854   -0.175762 0.266465 

.T這裏需要轉置。

+0

非常感謝,我一直在這個問題上這麼長時間。它非常完美! –

+0

@AustinPortell歡迎您。 :) – ayhan