如何去除Pandas DataFrame某列值中的.0后缀?
移除Pandas DataFrame中指定列的".0"后缀
先看你的原始数据输出:
Date User 0 2020-02-05 12:54:49.0 28 1 2021-02-06 16:27:09.0 34 2 2022-02-07 16:57:15.0 29
下面是几种实用的处理方法:
方法1:正则精准替换
直接匹配字符串末尾的.0并替换为空,适合确定只有该后缀的场景:
df['Date'] = df['Date'].str.replace(r'\.0$', '', regex=True)
方法2:直接截断或移除末尾字符
如果你的时间字符串格式固定,最后三位都是.0,可以直接截断:
# 截取前len-3位,快速去掉末尾的.0 df['Date'] = df['Date'].str[:-3]
或者用rstrip移除末尾的指定字符(注意:如果字符串末尾有多个0会被一并移除,适合格式统一的情况):
df['Date'] = df['Date'].str.rstrip('.0')
方法3:转为时间类型再格式化(推荐)
既然这是时间数据,更规范的做法是先转为datetime类型,再按需要的格式输出,这样既能去掉.0,还能方便后续的时间操作:
# 转换为datetime类型 df['Date'] = pd.to_datetime(df['Date']) # 转为不带毫秒的时间字符串 df['Date'] = df['Date'].dt.strftime('%Y-%m-%d %H:%M:%S')
处理后的数据输出:
Date User 0 2020-02-05 12:54:49 28 1 2021-02-06 16:27:09 34 2 2022-02-07 16:57:15 29
内容的提问来源于stack exchange,提问作者enim horsti
相关产品推荐
相关产品推荐

