Python 将数据帧中的词典列表转换为字符串列表-熊猫

Python 将数据帧中的词典列表转换为字符串列表-熊猫,python,pandas,Python,Pandas,对我来说,再多的谷歌搜索似乎也不会让这件事变得简单,我得到的大多数结果都是关于不同的转换,所以我来看看 给定一个dataframe列,其值如下 [{'id':5,'value':'string1'},{'id':3,'value':'string3'},{'id':35,'value':'string2'}] 如何将其转换为stings列表,例如 ['string1'、'string2'、'string3'] 我尝试使用两个for循环,例如 for x in df: for y in x

对我来说,再多的谷歌搜索似乎也不会让这件事变得简单,我得到的大多数结果都是关于不同的转换,所以我来看看

给定一个dataframe列,其值如下

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

如何将其转换为stings列表,例如

['string1'、'string2'、'string3']

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

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

当我在操作后添加一个打印(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]  

您可以使用熊猫数据帧的
tolist
功能

df['value'].tolist()
这将给你你期望的结果

['string1', 'string3', 'string2']
使用
df['value'].tolist()