0
.locを使用してCategoricalIndexベースのPandasデータフレームの行にアクセスしようとしていますが、TypeError
が表示されます。最小非実施例は、私が取得し13 .loc PandasのCategoricalIndex用
df.loc[13]
としてラベルに対応する行にアクセスしように、そして
import pandas as pd
df = pd.DataFrame({'foo': rand(3), 'future_index': [22, 13, 87]})
df['future_index'] = df['future_index'].astype('category')
df = df.set_index('future_index')
あろう
TypeError: cannot do label indexing on <class 'pandas.core.indexes.category.CategoricalIndex'> with these indexers [13] of <class 'int'>
13 in df.index
にもかかわらず
がTrue
である。
df.index.get_loc(13)
で13のインデックスを最終的に得ることができますが、なぜ上記の簡単なアプローチが機能しないのですか?私は何が欠けていますか?
乾杯。私にとって
これはあなたの場合は、現在、整数ベースCategoricalIndicesのために実装されていない何かのように見えますカテゴリは文字/文字列に基づく'' a '、' b '、' c ''df.loc [' a ']'が動作します。これは現在制限されているようです – EdChum