df.index.map(dict)がdf ['column_name']のように動作しないのはなぜですか?ここで辞書を使用してデータフレームインデックスをマップします。
はindex.map使用しようとしているのはほとんど例です:
import pandas as pd
df = pd.DataFrame({'one': {'A': 10, 'B': 20, 'C': 30, 'D': 40, 'E': 50}})
map_dict = {'A': 'every', 'B': 'good', 'C': 'boy', 'D': 'does', 'E': 'fine'}
df
'''
one
A 10
B 20
C 30
D 40
E 50
'''
df['two'] = df.index.map(mapper=map_dict)
これは、ラムダが働くそれを餌TypeError: 'dict' object is not callable
を提起:
df['two'] = df.index.map(mapper=(lambda x: map_dict[x])); df
'''
one two
A 10 every
B 20 good
C 30 boy
D 40 does
E 50 fine
'''
しかし、インデックスとのマッピングをリセット列では苦情なしに期待どおりに機能します。
df.reset_index(inplace=True)
df.rename(columns={'index': 'old_ndx'}, inplace=True) #so there's no index name confusion
df['two'] = df.old_ndx.map(map_dict); df
'''
old_ndx one two
0 A 10 every
1 B 20 good
2 C 30 boy
3 D 40 does
4 E 50 fine
'''
map
で
get
の追加[ドキュメント](HTTP://pandas.pydata .org/pandas-docs/version/0.18.1/generated/pandas.Index.map.html)、 'pandas.Index.map'には呼び出し可能ファイルが必要です。あなたの質問は*なぜ*このデザインの決定でしたか? –[ここ](https://github.com/pandas-dev/pandas/issues/12756)は関連する問題です。それはちょうど亀裂を滑り落ちて、固定しようとしていないものだと思われます。それは[現在是正されている]ようです(https://github.com/pandas-dev/pandas/pull/15081)。 –