从一列分割艺术家姓名

时间:2019-03-01 18:19:57

标签: python pandas split

我正在从广告牌100列表中提取数据,并停留在如何分割艺术家姓名的问题上。这是一个csv文件,但导出之前我在pandas数据框中有数据。我想使用python / pandas进行拆分。我在下面提供了该列的图片。艺术家姓名都在同一列中,并带有分隔符(红色),我想拆分,但是这很复杂。最常见的分隔符是“&”,“ Featureing”,“ X”,因此基本上我需要将所有这些名称拆分为不同列的帮助。

我当时以为可以使用嵌套的for循环,以便可以拆分这些定界符的组合。我的想法是根据“(符号)”,“ X”,“ x”和“功能”的模式进行拆分,但是不确定是否可行。有没有更简单的方法可以做到这一点而又不会丢失数据?感谢所有帮助。

1 个答案:

答案 0 :(得分:0)

考虑一个示例数据框df

df = pd.DataFrame({'singers': ['A & B', 'C Featuring D', 'E X F', 'G % H']})
df
    singers
0   A & B
1   C Featuring D
2   E X F
3   G % H

现在,由您决定选择哪个分隔符来分割名称。可能只是XFeaturing&或全部。如图所示,使用str.split实现这一目标-

df.singers.str.split('&|X|Featuring|%', expand=True)
    0   1
0   A   B
1   C   D
2   E   F
3   G   H

您甚至可以在split方法内添加任何其他符号。