2016-07-08 11 views
0

IDと電子メールを含むデータフレームがあります。私はまた、キーとしてIDと値として電話番号を含む辞書を持っています。私は辞書でiterしたいとidが辞書に存在する場合は、データフレームに新しい列を作成し、電話番号を追加します。私はidが辞書に存在したかどうかを確認する方法を考え出したではなく、どのように新しい列を作成するには:データフレームの特定の行に列を追加するpandas

for wid in mapping_id_phone: 
    print any(id==wid) 
+1

あなたは 'df ['new_col'] = df ['my_warner_id']の後にいますか?map(mapping_id_phone)'? – EdChum

答えて

0

あなたはmapを使用することができます。

df['new'] = df.id.map(mapping_id_phone) 

サンプル:

df = pd.DataFrame({'id':[1,2,3]}) 
mapping_id_phone = {1: '123', 2:'456', 3:'789'} 
print (df) 
    id 
0 1 
1 2 
2 3 

df['new'] = df.id.map(mapping_id_phone) 
print (df) 
    id new 
0 1 123 
1 2 456 
2 3 789 

dictの値が不足している場合、NaN

df = pd.DataFrame({'id':[1,2,3, 4]}) 
mapping_id_phone = {1: '123', 2:'456', 3:'789'} 
print (df) 
    id 
0 1 
1 2 
2 3 
3 4 

df['new'] = df.id.map(mapping_id_phone) 
print (df) 
    id new 
0 1 123 
1 2 456 
2 3 789 
3 4 NaN 
関連する問題