我在CSV文件中有以下列(请注意,某些行可能由随机数量的活动组成):
Activities
[{'id':18, 'name': 'Football'}, {'id': 35, 'name': 'Rugby'}, {'id': 10736, 'name': 'Hockey'}]
[{'id':16, 'name': 'Chess'}, {'id': 98, 'name': 'Fencing'}]
[{'id':35, 'name': 'Rugby'}, {'id': 47, 'name': 'Marathon'}, {'id': 99, 'name': 'Baseball'}]我已经将CSV导入到Pandas DataFrame:
df = pd.read_csv('activites.csv')我想修改列,使其如下所示:
Activities
Football|Rugby|Hockey
Chess|Fencing
Rugby|Marathon|Baseball我很感谢你的建议。
发布于 2020-09-24 15:40:27
将值转换为字典,然后使用join by |提取Name作为输出字符串:
import ast
f = lambda x: '|'.join(y['name'] for y in ast.literal_eval(x))
df['Activities'] = df['Activities'].apply(f)
print (df)
Activities
0 Football|Rugby|Hockey
1 Chess|Fencing
2 Rugby|Marathon|Baseballhttps://stackoverflow.com/questions/64041603
复制相似问题