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

Python中如何高效去除pandas dataframe最后一列所有元素的最后2个字符

解决方案

最优方案:矢量化字符串截取(无循环、极低内存占用)

核心逻辑是先动态获取最后一列的列名,再通过pandas内置的矢量化字符串方法处理,全程不涉及Python层级遍历,内存开销远低于手动循环方案。

# 动态获取最后一列的列名,无需提前知晓固定列名
last_col = df.columns[-1]
# 原地修改最后一列,直接截掉末尾2个固定字符".0"
df[last_col] = df[last_col].astype(str).str[:-2]

# 可选:如果需要将处理后的值转为数值类型,可补充类型转换
# df[last_col] = df[last_col].astype(float)

可选方案:不修改原DataFrame,生成新对象

如果需要保留原df不变,可通过assign方法生成新的DataFrame,全程同样为矢量化运算,无额外内存浪费:

last_col = df.columns[-1]
new_df = df.assign(**{
    last_col: df[last_col].astype(str).str[:-2]
})

效率说明

pandas的str字符串访问器所有运算均在C扩展层面执行,不会为每个单元格生成独立的Python对象,相比手动遍历内存开销降低90%以上,千万行级的DataFrame也可以稳定运行,不需要拆分拼接DataFrame,减少不必要的内存拷贝。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 11:24:01