我有一个包含ID和电子邮件的数据框。我还有一本字典,其中包含id和电话号码作为键。我想遍历字典,如果字典中存在ID,则在数据框中创建一个新列并添加电话号码。我想出了如何查看字典中是否存在ID的方法,但没有找到如何创建新列的方法:
for wid in mapping_id_phone:
print any(id==wid)
您可以使用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
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句