You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Pandas DataFrame中含多元素字符串的列拆分为多行

解决方法

你可以用 Pandas 的 str.split() 配合 explode() 方法快速实现需求,步骤如下:

  1. 拆分流派列为列表:先将「流派」列中逗号分隔的内容拆分成列表,同时处理掉流派名称前后的多余空格(比如数据里的,Hard Rock这种情况)
  2. 将列表拆分为多行:用explode()方法把每个列表元素拆成单独的行,同时保留其他列的对应信息

代码示例

import pandas as pd

# 模拟你的原始DataFrame(实际使用你导入的DataFrame即可)
df = pd.DataFrame({
    '歌曲名称': ['Song1', 'Song2', 'Song3'],
    '流派': ['HipHop, Rap', 'Rock, Metal,Hard Rock', 'Jazz'],
    '时长': ['3:30', '2:55', '4:00']
})

# 处理流派列:拆分并去除空格,然后拆分为多行
df_processed = df.assign(流派=df['流派'].str.split(',\s*')).explode('流派')

# 查看结果
print(df_processed)

运行结果

歌曲名称流派时长
Song1HipHop3:30
Song1Rap3:30
Song2Rock2:55
Song2Metal2:55
Song2Hard Rock2:55
Song3Jazz4:00

关键说明

  • str.split(',\s*'):用正则表达式匹配逗号和任意数量的空白字符,确保不管流派之间是, 还是,Hard Rock这种格式,都能正确拆分出无空格的流派名称
  • explode('流派'):将「流派」列的每个列表元素拆成单独一行,自动复制对应行的其他列数据

内容的提问来源于stack exchange,提问作者AndreasWacker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 16:25:53