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

如何将Pandas中color列字符串按空格拆分并生成其他列重复的行

在Pandas DataFrame中按空格(单个或多个)拆分列并展开为多行

你可以通过正则表达式拆分结合行展开的方式实现需求,以下是具体代码:

import pandas as pd

data = {'color': ['black green', 'red', ' white orange', 'jack','blue  green'],
        'Name': ['Tom', 'nick', 'krish', 'jack','bob'],
        'level_1': [2, -3, 7, -4,-2],
        }

df = pd.DataFrame(data)

# 拆分color列(匹配任意数量空格)并展开为多行
df_result = df.assign(color=df['color'].str.split(r'\s+')).explode('color', ignore_index=True)

print(df_result)

关键步骤说明:

  • str.split(r'\s+'):利用正则表达式\s+匹配任意数量的空白字符(包括单个空格、两个空格),确保不同空格分隔的字符串都能被正确拆分为列表。
  • assign():替换原有的color列,存储拆分后的列表数据。
  • explode('color'):将列表格式的color列展开为独立行,同时自动保留Name、level_1等其他列的对应值;ignore_index=True会重置结果的索引,避免出现重复索引。

运行后得到的结果与你给出的df2完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 07:52:18