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

如何用单行代码处理Pandas DataFrame指定列的字符截取与格式转换

问题描述

需要对Pandas DataFrame中的指定4列(共20列)进行格式调整:移除每列字符串末尾的6个字符,并将内容转换为首字母大写格式。目前已掌握单列处理方法,但希望用单行代码完成多列批量处理。

示例数据:

QA SupportUA SupportDev SupportProd Support
Stephen Andrews AB1603Scott Barker AB2044Edward Boyes AB1548David Nesmith AB1996
Ruth Xavier AB1594LENA Kelly AB1708Angela NEVIN AB1242Renee ALLEN AB2162
Ryan Trussell AB3102Roland Irons AB1772Aaron Nixon AB1249George Folkes AB3400

当前单列处理代码:

df['QA Support'] = df['QA Support'].str[:-6].str.title()
df['UA Support'] = df['UA Support'].str[:-6].str.title()
df['Dev Support'] = df['Dev Support'].str[:-6].str.title()
df['Prod Support'] = df['Prod Support'].str[:-6].str.title()
解决方案

可以通过以下两种单行方式实现多列批量处理:

直接列子集赋值

df[['QA Support', 'UA Support', 'Dev Support', 'Prod Support']] = df[['QA Support', 'UA Support', 'Dev Support', 'Prod Support']].str[:-6].str.title()

使用loc索引(可读性更强)

如果列名较多,也可通过loc索引完成单行批量处理:

df.loc[:, ['QA Support', 'UA Support', 'Dev Support', 'Prod Support']] = df.loc[:, ['QA Support', 'UA Support', 'Dev Support', 'Prod Support']].str[:-6].str.title()

原理说明

Pandas的str访问器支持对DataFrame的列子集批量调用字符串方法,无需逐列编写重复代码:

  • str[:-6]截取字符串,移除末尾6个字符
  • str.title()将字符串转换为首字母大写格式

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 08:05:54