对于我来说,使用谷歌搜索似乎没有那么简单,而且我得到的大多数结果都是关于不同的转化的,所以去吧。
给出一个数据框列,其值类似于
[{'id':5,'value':'string1'},{'id':3,'value':'string3'},{'id':35,'value':'string2' }]
如何将其转换为字符串列表,例如
['string1','string2','string3']
我尝试使用两个for循环,例如
for x in df:
for y in x:
y = y['value']
当我在操作后添加一个print(y)时,这似乎可行,但是更改似乎没有停止。
答案 0 :(得分:0)
将值附加到列表:
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]
答案 1 :(得分:0)
您可以使用 tolist
pandas DataFrame
功能
df['value'].tolist()
这将为您带来期望的结果
['string1', 'string3', 'string2']