【问题标题】:Splitting Artist Names from One Column从一列中拆分艺术家姓名
【发布时间】:2019-03-02 14:50:46
【问题描述】:

我正在从公告牌 100 列表中提取数据,并且一直在思考如何拆分艺术家姓名。这是一个 csv 文件,但我在导出之前将数据保存在 pandas 数据框中。我想使用 python/pandas 进行拆分。我已经包含了下面列的图片。艺术家姓名都在同一列中,带有分隔符(红色)我想拆分但它非常复杂。最常见的分隔符是“&”、“Featured”、“X”,所以基本上我需要帮助将所有这些名称分成不同的列。

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

【问题讨论】:

  • 到目前为止您尝试过什么?另外,请edit您的问题在您的问题中包含任何相关数据作为文本。谢谢。
  • 你考虑过 Perl 正则表达式吗?

标签: python pandas split


【解决方案1】:

考虑一个示例数据框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

现在,由您决定选择哪个分隔符来分割名称。可能只是 X 或只是 Featuring& 或可能全部。如图所示,使用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 方法中添加任何其他符号。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-25
    • 1970-01-01
    • 2012-05-28
    • 1970-01-01
    • 2019-01-13
    • 1970-01-01
    相关资源
    最近更新 更多