使用Python修改列中的所有数据

使用Python修改列中的所有数据,python,pandas,dataframe,Python,Pandas,Dataframe,我在CSV文件中有以下列(请注意,某些行可能包含随机数量的活动): 我已将CSV导入熊猫数据框: df = pd.read_csv('activites.csv') 我想修改该列,使其如下所示: Activities Football|Rugby|Hockey Chess|Fencing Rugby|Marathon|Baseball 非常感谢您的建议。将值转换为字典,然后使用连接提取名称,通过|输出字符串: import ast f = lambda x: '|'.join(y['na

我在CSV文件中有以下列(请注意,某些行可能包含随机数量的活动):

我已将CSV导入熊猫数据框:

 df = pd.read_csv('activites.csv')
我想修改该列,使其如下所示:

Activities
Football|Rugby|Hockey
Chess|Fencing
Rugby|Marathon|Baseball

非常感谢您的建议。

将值转换为字典,然后使用
连接
提取
名称
,通过
|
输出字符串:

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|Baseball
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|Baseball