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

如何在拼接Pandas DataFrame列时限制最大长度为500字符?

Pandas拼接列后限制内容长度至500字符的实现方法

有两种常用的实现方式,可根据你的需求选择:

方法一:直接拼接后截断(简单高效)

先将三列内容拼接,再直接截取前500字符。注意先处理空值,避免拼接后出现NaN:

import pandas as pd

FILE_NAME = "your_file.csv"
df = pd.read_csv(FILE_NAME, header=0)

# 填充空值为字符串,防止拼接时产生NaN
df[['Header', 'Subtitle', 'Text']] = df[['Header', 'Subtitle', 'Text']].fillna('')

# 拼接三列并截断至最多500字符
df['all'] = (df['Header'] + df['Subtitle'] + df['Text']).str[:500]

方法二:按列顺序拼接至500字符(优先保留前列内容)

如果希望优先保留Header的完整内容,再补充Subtitle,最后加Text,直到总长度达到500字符就停止拼接,可以用自定义函数结合apply实现:

import pandas as pd

FILE_NAME = "your_file.csv"
df = pd.read_csv(FILE_NAME, header=0)

def concat_with_limit(row):
    combined = ""
    # 按优先级顺序拼接列
    for col in ['Header', 'Subtitle', 'Text']:
        # 处理空值,转为字符串
        content = str(row[col]) if pd.notna(row[col]) else ""
        combined += content
        # 达到长度限制就停止
        if len(combined) >= 500:
            break
    # 确保最终长度不超过500
    return combined[:500]

df['all'] = df.apply(concat_with_limit, axis=1)

注意事项

  • 两种方法都处理了空值问题,避免拼接结果出现NaN;
  • 方法一适合对列顺序无优先级要求的场景,代码更简洁;
  • 方法二适合需要优先保留特定列内容的场景,逻辑更灵活。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 08:25:30