[英]Extracting value from a Pandas column that is a dictionary
I have a Dataframe in the below format:我有一个 Dataframe 格式如下:
id, value
101, [{'id': 'ZWJ', 'type': 'user_reference', 'summary': 'Person 1'}]
102, [{'id': 'ZWS', 'type': 'user_reference', 'summary': 'Person 2'}]
I am trying to extract the value tagged to summary in each row.我正在尝试提取每行中标记为摘要的值。
Expected output:预期 output:
id, name
101, Person 1
102, Person 2
Use str[0]
for get first list and then Series.str.get
for value summary
:使用str[0]
获取第一个列表,然后Series.str.get
获取值summary
:
df['name'] = df['value'].str[0].str.get('summary')
print (df)
id value name
0 101 [{'id': 'ZWJ', 'type': 'user_reference', 'summ... Person 1
1 102 [{'id': 'ZWS', 'type': 'user_reference', 'summ... Person 2
Details :详情:
print (df['value'].str[0])
0 {'id': 'ZWJ', 'type': 'user_reference', 'summa...
1 {'id': 'ZWS', 'type': 'user_reference', 'summa...
Name: value, dtype: object
Got this fixed by解决了这个问题
df['name'] = df.value(operator.itemgetter(0)).apply(operator.itemgetter('summary'))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.