2016-06-16 18 views
1

pandasでは、データフレーム内の特定のインデックス/場所に同時に新しい列をマップして挿入することは可能ですか?python pandas - 同時に特定のインデックスへの列のマップと挿入

私はデータフレームの最後に新しい列を作成するために、(マルチキー辞書から)動作するようにマッピングを得ることができます。

#using multi_key_dict https://pypi.python.org/pypi/multi_key_dict 
from multi_key_dict import multi_key_dict 
k = multi_key_dict() 
k['AAAA', 'BBBB'] = 'San Francisco' 
k['CCCC'] = 'Los Angeles' 
k['DDDD', 'EEEE', 'FFFF',] = 'San Diego' 

# Add new column 'location' to df, based on results of mapping dictionary K to existing column 'codes' 
df['location'] = df['codes'].map(k.get) 

私は(再)インデックスを作成し、並べ替え順序を指定できることを知っています。

また、私はデータフレームで指定されたインデックス/位置に列を挿入することができます知っている:

df.insert(index,name,value) 

私はマッピングをコーディングと一緒に指定したインデックス位置に列を挿入することができれば、それはエレガント/いいだろう。この概念的な推測ような何か:

df['location'] = df['codes'].map(k.get).insert(5,'location') 
+0

ありません挿入してから並べ替える必要があります。 –

+0

ありがとう..... –

答えて

0

私はマッピングした後、リオーダー/ソートを行なったし、挿入し、使用して...

オリジナル列の順序:使用して順序変更['col1', 'col2', 'col3']

df = df[['col3', 'col2', 'col1']]

関連する問題