首页 > 解决方案 > 将数据框列值转换为列表

问题描述

我有一个名为matchdf. 这是一个巨大的,所以我展示了数据框的第 3 行和第 3 列:

print(matchdf.iloc[:3,:3]

   Unnamed: 0                                   athletesInvolved awayScore
0           0  [{'id': '39037', 'name': 'Azhar Ali', 'shortNa...         0
1           1  [{'id': '568276', 'name': 'Imam-ul-Haq', 'shor...         0
2           2  [{'id': '568276', 'name': 'Imam-ul-Haq', 'shor...         0

我正在使用athletesInvolved列,如您所见,它包含一个列表,其形式为:

print(matchdf['athletesInvolved'][0])

[{'id': '39037', 'name': 'Azhar Ali', 'shortName': 'Azhar Ali', 'displayName': 'Azhar Ali'}, {'id': '17134', 'name': 'Tim Murtagh', 'shortName': 'Murtagh', 'displayName': 'Tim Murtagh'}]

但是,此对象的数据类型strlist. 我们如何将上述数据类型转换为列表

标签: pythonpandasdataframe

解决方案


我们可以使用ast

import ast 
df.c=df.c.apply(ast.literal_eval)

推荐阅读