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

如何移除DataFrame列中的"_months"后缀并仅保留数字?

移除date列中的"_months"后缀,保留数字部分的方法

下面分两种常见场景给出解决方案:

纯Python字典处理

如果你的df是原生Python字典,可以通过列表推导式配合字符串操作实现:

方法1:使用replace直接替换后缀

df = {'name' : ['maman','tata','papa','uncle'], 
      'date' : ['6_months','4_months','2_months', '2_months'], 
      'amount' : [2000 , 600 , 500 , 100 ]}

# 替换掉所有"_months"后缀
df['date'] = [x.replace('_months', '') for x in df['date']]

方法2:使用split分割字符串取前缀

如果后续可能出现类似"_weeks"这类不同后缀,用分割的方式更灵活:

df['date'] = [x.split('_')[0] for x in df['date']]

如果需要将结果转为整数类型,只需在操作中加入int()转换:

df['date'] = [int(x.split('_')[0]) for x in df['date']]

Pandas DataFrame处理

如果你的df是Pandas DataFrame(数据分析场景下更常见),可以利用Pandas的字符串方法快速处理整列:

方法1:str.replace批量替换

import pandas as pd

df = pd.DataFrame({'name' : ['maman','tata','papa','uncle'], 
                   'date' : ['6_months','4_months','2_months', '2_months'], 
                   'amount' : [2000 , 600 , 500 , 100 ]})

# 替换后缀,结果为字符串类型
df['date'] = df['date'].str.replace('_months', '', regex=False)

# 直接转为整数类型
df['date'] = df['date'].str.replace('_months', '', regex=False).astype(int)

方法2:str.split分割取前缀

# 取分割后的第一个元素,结果为字符串类型
df['date'] = df['date'].str.split('_').str[0]

# 转为整数类型
df['date'] = df['date'].str.split('_').str[0].astype(int)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 23:30:55