2017-04-25 4 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

彼らは数字であっても、あなたが文字列で構成されて列を持っている(おそらくインデックスとして、その列をしたい)と、あなたもオブジェクトとして扱う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

関連する問題