从引用的值列表中拆分 DataFrame 列

我有一个带有“分类”列的 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

但我不知道该怎么做。以最有效的方式...


有人能帮我吗...?提前致谢。


烙印99
浏览 64回答 1
1回答

胡说叔叔

这是一个想法..使用str.findall                                00  Action Adventure RPG Roguelike1      Action Shoot'em Up Wargamesep = ["Action", "Adventure", "RPG", "Roguelike", "Shoot'em Up", "Wargame"]pattern = '|'.join(sep)pd.DataFrame(df[0].str.findall(pattern).tolist())        0            1        2          30  Action    Adventure      RPG  Roguelike1  Action  Shoot'em Up  Wargame       None
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python