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

如何移除pandas DataFrame列表类型列元素中的换行符\n

解决方案

你可以结合pandas的apply()方法和列表推导式实现需求,不需要引入正则,直接调用字符串原生的replace方法替换换行符即可,实现代码如下:

import pandas as pd

# 示例数据
df = pd.DataFrame({
   'tags': {0: 1, 1: 1, 2: 1, 3: 1, 4: 1}, 
    'elements': {
        0: ['\n☒', '\nANNUAL REPORT PURSUANT TO SECTION 13 OR 15(d) OF THE SECURITIES EXCHANGE ACT OF 1934 '],
        1: ['', ''],
        2: ['\n', '\nFor the Fiscal Year Ended June 30, 2020'],
        3: ['\n', '\n'],
        4: ['\n', '\nOR']
    }
})

# 核心处理逻辑:替换所有字符串内的\n
df['elements'] = df['elements'].apply(lambda x: [s.replace('\n', '') for s in x])

实现说明

  • apply()会遍历elements列的每一行值(也就是每一个列表对象)
  • 内层列表推导式遍历列表中的每个字符串,将所有\n替换为空字符
  • 最后将处理后的列表重新赋值给原列即可完成全量更新
    如果之前用嵌套循环没有生效,一般是因为你只修改了循环过程中的临时变量,没有将修改后的结果重新赋值回DataFrame对应的位置,上述写法是pandas处理非标量列的常规方案,性能和稳定性都优于手动嵌套循环。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 06:51:03