我有一个带有“分类”列的 pandas DataFrame(视频游戏列表)。在该列中,我们可以找到:简单分类:“RPG”或“Action”多个分类:《动作冒险RPG Roguelike》、《Action Shoot'em Up Wargame》你注意到了吗?没有分隔符...当然,我需要将其拆分为一个新列,带有分隔符(或具有每个单独元素的其他结构)。所以"Action Adventure RPG Roguelike" => "Action, Adventure, RPG, Roguelike""Action Shoot'em Up Wargame" => "Action, Shoot'em Up, Wargame"我不能使用空间来分割,也不能使用大写字母(“ Shoot'em Up”是一个值)。所以,在我看来,我需要创建一个函数来应用于该列,并从值列表中检查(手工制作),找到所有出现并返回带有分隔符的字符串......像这样的东西:classification = ["Action", "Adventure", "RPG", "Roguelike", "Shoot'em Up", "Wargame"...]def magic_tric(data): # do the magic, comparing each classification possible / data return data_separated但我不知道该怎么做。以最有效的方式...有人能帮我吗...?提前致谢。
1 回答
胡说叔叔
TA贡献1804条经验 获得超8个赞
这是一个想法..使用str.findall
0
0 Action Adventure RPG Roguelike
1 Action Shoot'em Up Wargame
sep = ["Action", "Adventure", "RPG", "Roguelike", "Shoot'em Up", "Wargame"]
pattern = '|'.join(sep)
pd.DataFrame(df[0].str.findall(pattern).tolist())
0 1 2 3
0 Action Adventure RPG Roguelike
1 Action Shoot'em Up Wargame None
添加回答
举报
0/150
提交
取消