masa_koyama
@masa_koyama (masa koyachan)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

pandasに関するエラー

Q&A

Closed

vscodeにアナコンダパスを通しているのpandasに関してエラーが出る

実行環境:vscode、conda 4.8.3、 python3.8.3
コード内容:sklearnを用いた簡単な予測プログラム

その他行ったこと
vsコードの設定からアナコンダパスとパイソンパスをanaconda3のパスへと通したのですがうまくいきません。
原因が分かる方よろしくお願いします

実際のコード

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC
from sklearn.metrics import accuracy_score


iris_data = pd.read_csv("tableconvert_csv_rz1wsc.csv", encoding="utf-8")


y = iris_data.loc[:,"Name"]
x = iris_data.loc[:,["sepallength", "sepalwidth", "petaillength", "petalwidth"]]


x_train, x_test, y_train, y_test = train_test_split(x,y,test_size = 0.2,train_size=0.8,shuffle = True)


clf = SVC()
clf.fit(x_train, y_train)


y_pred = clf.prediction(x_test)
print("accurate = ", accuracy_score(y_test,y_pred))

エラーが画面

#エラー画面
line 2659, in get_loc
    return self._engine.get_loc(self._maybe_cast_indexer(key))
  File "pandas/_libs/index.pyx", line 108, in pandas._libs.index.IndexEngine.get_loc
  File "pandas/_libs/index.pyx", line 132, in pandas._libs.index.IndexEngine.get_loc
  File "pandas/_libs/hashtable_class_helper.pxi", line 1601, in pandas._libs.hashtable.PyObjectHashTable.get_item
  File "pandas/_libs/hashtable_class_helper.pxi", line 1608, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: 'Name'
0

2Answer

Comments

  1. @masa_koyama

    Questioner

    csvファイルのカラムの見直しをして該当箇所は解決できました。ありがとうございました。
    しかしValueError: Input contains NaN, infinity or a value too large for dtype('float64').
    というエラーが引き続き出てきてしまいた。見た目では、NaNは該当csvファイルにはないのですがどのように処理すれば良いのでしょうか。お時間がありましたら、引き続き御回答願います。
  2. @masa_koyama

    Questioner

    numpyのnan値をけすx.drop(x.columns[np.isnan(x).any()], axis=1)は試してみたのですが、効果はありませんでした。
  3. `.drop()`メソッドは(デフォルトでは)新しいデータフレームを返すものですので、戻り値を変数に代入しないと意味がありません。
  4. @masa_koyama

    Questioner

    predictionではなくpredictであったことや、dropは必要ではなかったことがその後分かり解決に至りました。ありがとうございました。

コードの内容は全く理解していないのですが、以下のところで不規則になっているのが気になりました。

x = iris_data.loc[:,["sepallength", "sepalwidth", "petaillength", "petalwidth"]]

  length width
sepal
petail
petal

Nameと同じようなTypoの可能性はないでしょうか?

0Like

Comments

  1. @masa_koyama

    Questioner

    SVCのメソッドの指定がpredictionになっていたことに気づき解決しました。また、ご指摘のカラムの箇所も誤っていたため参考になりました。ありがとうございました。

Your answer might help someone💌