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

如何修改Pandas DataFrame长字符串显示为省略中间字符?

实现Pandas DataFrame长字符串中间省略显示

当然可以实现,给你两种实用方法:

方法一:临时修改列内容(永久改变数据)

写一个自定义函数,对过长的字符串进行中间截断处理,再应用到目标列上:

import pandas as pd

# 定义中间截断函数:超过max_len时,保留前25位+...+后20位
def truncate_middle(s, max_len=50):
    if len(s) <= max_len:
        return s
    return f"{s[:25]}...{s[-20:]}"

# 你的示例数据
df = pd.DataFrame({'A':['ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ']})

# 应用函数到列A
df['A'] = df['A'].apply(truncate_middle)
display(df)

方法二:仅修改显示效果(不改动原数据)

用Pandas的style.format功能,只在展示时修改字符串显示样式,原数据保持不变:

import pandas as pd

# 自定义格式化函数
def middle_trunc_formatter(x, max_len=50):
    if isinstance(x, str) and len(x) > max_len:
        return f"{x[:25]}...{x[-20:]}"
    return x

# 示例数据
df = pd.DataFrame({'A':['ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ']})

# 仅在展示时应用格式化
display(df.style.format({'A': middle_trunc_formatter}))

两种方法都能实现你要的「长字符串中间省略」效果,你可以根据需求选择:如果需要后续操作也用截断后的字符串,选方法一;如果只想看的时候美观、不想改动原数据,选方法二。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 06:05:25