python - DataFrame:从一列中的字符串字典到两列中的浮点数 {'latitude': '34.04', 'longitude': '-118.24'}
问题描述
我有一个df
带有 column的 pandas DataFrame latlng
。此列中的行具有格式
{'latitude': '34.041005', 'longitude': '-118.249569'}
.
为了能够向地图添加标记(使用 folium librairie),我想创建两列'latitude'
,longitude
在此示例中分别包含34.041005
和-118.249569
。
编辑: 设法让它与这第一步一起工作: df['latlng'] = df['latlng'].map(eval)
解决方案
您可以使用pd.json_normalize
来避免apply
成本高昂:
In [684]: df_out = pd.json_normalize(df.latlong)
In [686]: df_out
Out[686]:
latitude longitude
0 34.041005 -118.249569
1 30.041005 -120.249569
然后您可以将这些列连接回df
如下所示:
pd.concat([df.drop('latlong', axis=1), df_out], axis=1)
推荐阅读
- c++ - GLFWimage 如何管理数据?
- ios - Xcode 11:错误:两个演绎版的相同键
- c++ - 如何在有约束的函数中使用泛型类型(C++)
- c# - 从丢失小数位的 XML 中解析浮点值(C#)
- jquery - DataTables:页脚不会根据搜索更新
- r.net - R.NET 和 Microsoft R 打开我不能使用包 xlsx
- html - 如何将jumbotron扩展到页面末尾
- angular - 使用“npm”恢复依赖关系。在 Visual Studio 2019 中这可能需要几分钟
- python - 你能对 Django 查询集中的聚合值做额外的数学运算吗
- javascript - 对象属性的 VS Code 自动完成