将数据框列值转换为列表

时间:2019-07-22 01:55:34

标签: python pandas dataframe

我有一个名为matchdf的数据框。这是一个巨大的数据,因此我要显示数据帧的第3行和第1列:

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'}]

但是,此对象的数据类型是str,而不是list。我们如何将上述数据类型转换为列表

1 个答案:

答案 0 :(得分:0)

我们可以使用ast

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