【Pythonエラー解説】TypeError: init() got an unexpected keyword argument ‘strateg’【初心者向け】

目次

経緯

PythonでSimpleImputerを使って、欠損値補完(中央値指定)を行おうとしたところ、

TypeError: init() got an unexpected keyword argument 'strateg'

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

実際のコード

age_imputer = SimpleImputer(strateg='median')

原因

エラーの原因は、キーワード引数のスペルミスです。

間違っていた箇所は、

  • 誤り:strateg
  • 正解:strategy

つまり、引数の名前が正しく「strategy」でなければならないところ、うっかり「y」が抜けて「strateg」と書いてしまったため、Pythonが引数を認識できずエラーが発生しました。

正しいコードはこちらです。

age_imputer = SimpleImputer(strategy='median')

こうすれば防げる

  • 公式ドキュメントやリファレンスを確認する
  • エディタの**コード補完機能(オートコンプリート)**を活用する
  • タイピング後に引数名をよく見直す

Pythonでは、キーワード引数の名前は一文字でも違うとエラーになりますので、丁寧な確認が重要です。

参考:SimpleImputerとは?

SimpleImputerは、scikit-learnライブラリの中で提供されている欠損値補完用クラスです。

  • strategy='mean':平均値で補完
  • strategy='median':中央値で補完
  • strategy='most_frequent':最頻値で補完
  • strategy='constant':定数で補完

など、簡単に欠損データを埋めることができます。


まとめ

  • エラー TypeError: __init__() got an unexpected keyword argument は、キーワード引数のスペルミスが原因
  • 正しくは strategy='median' と書く
  • 英語の単語力(特に綴り)も少しずつ覚えると、プログラミングエラーも減らせる
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

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

目次