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

如何为dataframe第二列空格分隔字符串加引号并以逗号分隔

实现方案

直接用pandas原生的字符串处理链就能实现,不需要写自定义循环,代码简洁且对异常空格的兼容性好。

  • 先给可复现的测试数据构造代码,你实际使用时跳过这步,直接操作自己的DataFrame即可:
import pandas as pd

# 匹配你给出的原始样例数据
df = pd.DataFrame({
    'col.x': ['company1', 'company2'],
    'col.y': ['science data tech food social', 'social tech industry data']
})
  • 核心处理逻辑分三步:先把空格分隔的字符串拆成词列表,给每个词前后加双引号,最后用, 做分隔符重新拼接成字符串。
    如果你明确知道列名是col.y,直接用列名索引即可:
df['col.y'] = df['col.y'].str.split().apply(
    lambda words: ', '.join(f'"{w}"' for w in words)
)

如果你要固定操作第二列、不想写死列名,用位置索引的写法更通用:

# iloc[:,1] 表示取所有行的第2列(pandas索引从0开始计数)
df.iloc[:, 1] = df.iloc[:, 1].str.split().apply(
    lambda words: ', '.join(f'"{w}"' for w in words)
)
  • 处理完成后打印DataFrame,得到的结果和你预期完全一致:
col.x                                        col.y
0  company1  "science", "data", "tech", "food", "social"
1  company2        "social", "tech", "industry", "data"

小提示:这里str.split()没有传入分隔符参数,默认会按任意长度的空白字符拆分,自动跳过字符串首尾空格、中间连续多空格的情况,比手动写split(' ')鲁棒性更强,不会产生多余的空字符串元素。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 16:48:29