pandas:キーが存在しているのに “Passing list-likes to .loc or [] with any missing labels is no longer supported. とエラーが出る

記事公開日:
最終更新日:

This post is also available in: English-US (英語)

pandas を使っていて 「.loc」 で値を取り出そうとすると下記のようなエラーが出る現象について、備忘録的にメモを書いています。

KeyError: "Passing list-likes to .loc or [] with any missing labels is no longer supported.

上記エラーのよく見る解決法としては、存在しないキーに対して loc で参照しているから...というもので、「.reindex()」関数使って、存在するキーだけにしたら良いよというものかと思います。

ですが、キーが存在している(はずなのに)のに上記エラーが出てくる場合には、キーを int で渡してしまっている場合とかでも、同様のエラーが出ます。もう少し具体的に書くと、loc に渡している値が str のつもりで、実は int で渡しているという場合にエラーが出てハマる可能性があります。

loc に int を渡すと、インデックスのラベルとして解釈されるみたいです。

参考:
https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.loc.html

About
Amelt.net,LLCの創業者で、費用対効果の高い統合webマーケティングによりビジネスパートナーとして継続的にサポート。詳しいより。ブログの更新情報TwitterLinkedIn、またRSSfeedlyにてお知らせしていますのでフォローよろしくお願い致します。