[英]How to extract the Dictionary value inside the List in the column, Pandas?
[英]Extract dictionary value from a list with one element in a pandas column
我有一个 pandas dataframe ,其中有一列是包含单个字典的列表。 例如:
col1
[{'type': 'yellow', 'id': 2, ...}]
[{'type': 'brown', 'id': 13, ...}]
...
我需要提取与“类型”关键字关联的值。 有不同的方法可以做到这一点,但由于我的 dataframe 很大(数百万行),我需要一种有效的方法来做到这一点,但我不确定哪种方法最好。
让我们试试这个:
data = {
'col': [[{'type': 'yellow', 'id': 2}], [{'type': 'brown', 'id': 13}], np.nan]
}
df = pd.DataFrame(data)
print(df)
col
0 [{'type': 'yellow', 'id': 2}]
1 [{'type': 'brown', 'id': 13}]
2 NaN
使用explode
和str
访问器:
df['result'] = df.col.explode().str['type']
output:
col result
0 [{'type': 'yellow', 'id': 2}] yellow
1 [{'type': 'brown', 'id': 13}] brown
2 NaN NaN
访问大多数数据结构中的任何元素都是 O(1) 操作。 我确定 pandas 数据帧也不例外。 您将面临的唯一问题是:循环遍历行。 可能没有办法解决它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.