サイトアイコン Amelt.net

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

Amelt

Amelt

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