【Pythonエラー解説】ValueError: No axis named 0.75 for object type DataFrame【初心者向け】

目次

経緯

Pythonで外れ値(異常値)を検出しようと、quantile()関数を使ったところ、

ValueError: No axis named 0.75 for object type DataFrame

というエラーが発生しました。

実際のコード

q = train_ds.quantile([1/4], 3/4)

原因

エラー原因は、カッコの位置ミスでした。

具体的には、quantile()関数の引数の渡し方に問題があります。

  • 誤ったコード
q = train_ds.quantile([1/4], 3/4)
  • 正しいコード
q = train_ds.quantile([1/4, 3/4])

つまり、分位点をリスト [ ] にまとめて一括指定する必要がありました。

間違ったコードでは、最初の [1/4] をリストとして渡した後、さらに 3/4 を別の引数として渡してしまっています。
これにより、DataFrameが存在しない軸(ここでは0.75)を探しに行ってしまい、エラーが発生していました。

カッコの使い方に注意

Pythonでは、次のようにカッコを使い分けます。

  • ()タプル(tuple)や関数の引数指定
  • []リスト(list)
  • {}辞書(dict)や集合(set)

今回の場合は、「複数の値(1/4, 3/4)をまとめて渡したい」ので、リスト [] を使う必要があったというわけです。


まとめ

  • quantile()複数の分位点を指定したいときは、リストでまとめて渡す
  • カッコの種類と使い方に細心の注意を払う
  • エラーが出たときは、まずカッコと引数の数・位置を疑う
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次