将数据帧中的字典列表转换为字符串列表 - pandas



再多的谷歌搜索似乎都没有使这对我来说更简单,我得到的大多数结果都是关于不同的转换,所以在这里。

给定一个数据帧列,其值如下

[{'id': 5, 'value': 'string1'},{'id': 3, 'value': 'string3'},{'id':35, 'value': 'string2'}]

如何将其转换为刺痛列表,例如

["字符串1","字符串2","字符串3"]

我尝试使用两个 for 循环,例如,

for x in df:
for y in x:
y = y['value']

当我在操作后添加 print(y( 时,这似乎有效,但更改似乎并没有坚持下去。

将值附加到列表:

L = []
for x in df['col']:
L1 = []
for y in x:
L1.append(y['value'])
L.append(L1)
df['new'] = L

或列表理解:

df['new'] = [[y['value'] for y in x] for x in df['col']]

示例

df = pd.DataFrame({'col':[[{'id': 5, 'value': 'string1'},{'id': 3, 'value': 'string3'},{'id': 35, 'value': 'string2'}],
[{'id': 5, 'value': 'string1'},{'id': 3, 'value': 'string3'}]]})
df['new'] = [[y['value'] for y in x] for x in df['col']]
print (df)
col  
0  [{'id': 5, 'value': 'string1'}, {'id': 3, 'val...   
1  [{'id': 5, 'value': 'string1'}, {'id': 3, 'val...   
new  
0  [string1, string3, string2]  
1           [string1, string3]  

您可以使用tolistpandas DataFrame

df['value'].tolist()

这将为您提供期望的结果

['string1', 'string3', 'string2']

相关内容

  • 没有找到相关文章

最新更新