@hase0501

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

pythonを使ってFIFA23の選手の総合値であるoverallと相関関係が高い項目を分析

Q&A

Closed

pythonを使ってFIFA23の選手の総合値であるoverallと相関関係が高い項目を分析しています。
実装中に下記のエラーが出ました。
恐らく文字列と数値が混在しているCSVの為、エラーが出ているのだと思いますが
解決方法がわかりません。教えてください。

発生している問題・エラー

Traceback (most recent call last):
File "C:/Users/afari/OneDrive/ドキュメント/fifa23_example12-1-4.py", line 31, in
corr = field_players.corr()
File "C:\Users\afari\AppData\Local\Programs\Python\Python311\Lib\site-packages\pandas\core\frame.py", line 10704, in corr
mat = data.to_numpy(dtype=float, na_value=np.nan, copy=False)
File "C:\Users\afari\AppData\Local\Programs\Python\Python311\Lib\site-packages\pandas\core\frame.py", line 1889, in to_numpy
result = self._mgr.as_array(dtype=dtype, copy=copy, na_value=na_value)
File "C:\Users\afari\AppData\Local\Programs\Python\Python311\Lib\site-packages\pandas\core\internals\managers.py", line 1656, in as_array
arr = self._interleave(dtype=dtype, na_value=na_value)
File "C:\Users\afari\AppData\Local\Programs\Python\Python311\Lib\site-packages\pandas\core\internals\managers.py", line 1715, in _interleave
result[rl.indexer] = arr
ValueError: could not convert string to float: 'L. Goretzka'

該当するソースコード

#総合値と相関がある項目をヒートマップで見る
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

#CSVファイルを読み込む
df = pd.read_csv("CLEAN_FIFA23_official_data.csv")

#print(df.shape)
#(17660, 31) 選手数は17660、一選手にあたり31の項目がある。

#GK以外のポジションに絞る
field_players = df[df["Position"]!= 'GK']

#欠損値の項目がある場合はtrue,ない場合はFalseが表示される
print(df.isnull())

#欠損値がある項目の合計をカウントする
print(df.isnull().sum())

#「移籍金」、「年俸」、「市場価値」の項目を削る
money_drop_list = [
"Value(£)",
"Wage(£)",
"Release Clause(£)"
]

field_players = field_players.drop(columns=money_drop_list)

corr = field_players.corr()
print(corr)

#項目が多いので見やすいように画像サイズを大きくする
plt.figure(figsize=(30, 20))

#相関関数の値を項目に表示する
sns.heatmap(corr, square=True, annot=True)

以下は、読み込んだCSVです。
image.png

よろしくお願いいたします。

0 likes

1Answer

次の作業をやりましたが、正常に動作しました
csvファイルをエクセルで開いて上書きしたりしてませんか?

  • データダウンロード

  • コードをGoogle Colabにコピー
  • 実行

1Like

Comments

  1. @hase0501

    Questioner

    ダメでした・・・
    csvをデスクトップに移動してみましたがそれでもダメです・・・。

  2. @hase0501

    Questioner

    @pea1205 さん!
    すみません!上手くいきました!
    Googleドライブにファイルをアップロードする必要があることを認識しておらず時間がかかってしまいました。
    ありがとうございます!!

  3. 良かったです。
    環境問わず動作すれば良いのでしたら質問はクローズしちゃってください。
    元々のご質問の環境で動作させる必要があるのであれば、ダウンロードしたCSVファイルと使用していたCSVファイルの差を確認すると良いと思います。

Your answer might help someone💌