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

Python中拆分DataFrame列数据时split函数逐行输出而非生成DataFrame的问题

解决DataFrame列数据提取与重组问题

正确实现代码

假设你的DataFrame名为data,目标列为column,可以用以下代码实现需求:

import pandas as pd

def process_string(s):
    # 按|拆分字符串,过滤掉空片段(处理末尾带|的情况)
    segments = [seg for seg in s.split('|') if seg]
    # 提取每个片段中逗号后的前3位字符
    extracted_parts = [seg.split(',')[-1][:3] for seg in segments]
    # 用逗号连接所有提取结果
    return ','.join(extracted_parts)

# 生成新列存储处理后的数据,也可以直接替换原列
data['processed_column'] = data['column'].apply(process_string)

原代码问题分析

  1. 无返回值,仅打印输出:你的自定义函数用print输出结果,但没有通过return返回处理后的字符串,导致apply无法生成新的DataFrame列,只会在控制台逐行打印内容。
  2. 逻辑错误:函数内循环new.str.split("|")是对整个列的拆分结果遍历,而非针对传入的单个字符串处理,会重复处理所有行数据,不符合逐行处理的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 17:20:44