python - 数据框从列表中提取字典
问题描述
我有以下格式的数据框:
ID Details
1 [{"Number":"63","ID":"1","Road":"West"}]
2 [{"Number":"97","ID":"2","Road":"North"}]
我正在尝试提取每行中标记为 Road 的值。预期输出:
ID Details Road
1 [{"Number":"63","ID":"1","Road":"West"}] West
2 [{"Number":"97","ID":"2","Road":"North"}] North
在df['Details'].str[0]
中,我得到 [
在df['Details'].str[0].str.get('Road')
中,我只得到 NaN
解决方案
您可以尝试列表理解:
df = pd.DataFrame(
{
"ID": [1, 2],
"Details": [
[{"Number": "63", "ID": "1", "Road": "West"}],
[{"Number": "97", "ID": "2", "Road": "North"}],
],
}
)
df
ID Details
0 1 [{'Number': '63', 'ID': '1', 'Road': 'West'}]
1 2 [{'Number': '97', 'ID': '2', 'Road': 'North'}]
df["Road"] = [entry["Road"] for entry in df.Details.str[0]]
ID Details Road
0 1 [{'Number': '63', 'ID': '1', 'Road': 'West'}] West
1 2 [{'Number': '97', 'ID': '2', 'Road': 'North'}] North
推荐阅读
- vue.js - VueJS总结数据行中的所有数值
- python - sklearn 分类度量 auc 返回 ValueError
- apache-flink - Flink 中分配给工作人员的任务分配不均
- scala - Scala 中 :: 和 Nil 类型的区别
- android - 在android studio(kotlin)中动态着色drawable
- awk - 结合 awk 智能范围和 jq
- arrays - Mapbox GL JS:基于多维数组构建匹配表达式
- c++ - 用于检测车辆 OpenCV C++ 的 Group Rectangles 函数
- python - 如何使 Bokeh Datatable 响应式地适应
- python - 如何在熊猫中将字符串日期转换为数字