Ale*_*Gao 2 python series pandas
如果我有这样的数据帧:
id latitude longitude
a -99 48
b -97 44
c -96 52
Run Code Online (Sandbox Code Playgroud)
我有一个字典映射ids到新的纬度+经度值
new_lat_lon = { 'a':(-99, 58), 'b':(...), 'c':(...) }
Run Code Online (Sandbox Code Playgroud)
是否有一种快速而肮脏的方法来使用.map立即更改纬度/经度列?
例如
df[['latitude', 'longitude']] = df['id'].map(new_lat_lon)
Run Code Online (Sandbox Code Playgroud)
这当然不起作用,但如果有一种我想知道的方式.我知道我可以简单地将字典分成两个单独的字典,但是如果有更紧凑的解决方案,我感兴趣.如果我需要稍微修改字典(例如将元组更改为列表或其他东西),这也很酷,只要它是一个字典.谢谢!
运用 update
pd.DataFrame.from_dict(new_lat_lon,'index').rename(columns={0:'latitude',1:'longitude'})
Out[128]:
latitude longitude
a -99 58
b 1 2
c 2 3
updateddf=pd.DataFrame.from_dict(new_lat_lon,'index').rename(columns={0:'latitude',1:'longitude'})
df=df.set_index('id')
df.update(updateddf)
df.reset_index()
Out[132]:
id latitude longitude
0 a -99 58
1 b 1 2
2 c 2 3
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
25 次 |
最近记录: |