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

使用Pandas处理字符串时如何保留列名Order_Number?

解决方法

你的问题出在最后一步:df_test['Order_Number'].str[4:]返回的是Series(一维序列),而非DataFrame,所以输出时看不到原列名。要保留列名且不用手动添加,有几种简便方案:

方案1:直接修改原DataFrame的列

不需要替换整个df_test,直接在选中的列上做字符串截取,保留DataFrame结构和列名:

df_test = pd.read_excel(r'C:\...\test.xlsx')
df_test = df_test.filter(like='Order_Number', axis=1)
df_test['Order_Number'] = df_test['Order_Number'].str[4:]
df_test.head()

方案2:用apply保持DataFrame结构

如果习惯链式操作,用apply对列批量处理,返回结果仍是带列名的DataFrame:

df_test = pd.read_excel(r'C:\...\test.xlsx')
df_test = df_test.filter(like='Order_Number', axis=1).apply(lambda col: col.str[4:])
df_test.head()

方案3:把Series转回DataFrame

如果已经得到Series,用to_frame()方法转成DataFrame,自动保留原列名:

df_test = pd.read_excel(r'C:\...\test.xlsx')
df_test = df_test.filter(like='Order_Number', axis=1)
df_test = df_test['Order_Number'].str[4:].to_frame()
df_test.head()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 21:48:28