このデータフレームを考えてみましょう:
df = pd.DataFrame({u'A': {2.0: 2.2,
7.0: 1.4,
8.0: 1.4,
9.0: 2.2}, u'B': {2.0: 7.2,
7.0: 6.3,
8.0: 4.4,
9.0: 5.0}})
次のようになります。
A B
2 2.2 7.2
7 1.4 6.3
8 1.4 4.4
9 2.2 5.0
2
ラベルと7
(文字列ではなく数字)でインデックスを取得したい
df.loc[[2, 7]]
エラーが発生します!
IndexError: indices are out-of-bounds
ただし、正常df.loc[7]
にdf.loc[2]
動作し、期待どおりに動作します。また、数値の代わりに文字列を使用してデータフレーム インデックスを定義すると、次のようになります。
df2 = pd.DataFrame({u'A': {'2': 2.2,
'7': 1.4,
'8': 1.4,
'9': 2.2},
u'B': {'2': 7.2,
'7': 6.3,
'8': 4.4,
'9': 5.0}})
df2.loc[['2', '8']]
それは正常に動作します。
これは私が期待した動作ではありませんdf.loc
(これはバグですか、それとも単なる落とし穴ですか?) 位置だけでなく、ラベル インデックスとして数値の配列を渡すことはできますか?
すべてのインデックスを文字列に変換して操作する.loc
ことはできますが、残りのコードにとっては非常に不便です。
御時間ありがとうございます!