Python中删除DataFrame某列整数的末尾两位数字
解决DataFrame列整数截断最后两位的问题
给你两种靠谱的解决方法,按需选择即可:
方法一:数学整除法(最直接高效)
因为你的数据是整数格式,直接对列做整除100的操作就能去掉最后两位:
df['你的列名'] = df['你的列名'] // 100
比如原数值是20220401,整除100后直接得到202204,全程不用转字符串,速度最快。
方法二:字符串截取法(纠正你之前的错误用法)
你之前用[:2]是取前两位,当然达不到效果,应该用[:-2]去掉最后两位,或者[:6]取前6位(因为你的日期是8位,前6位正好是年月):
# 转字符串后截取,保留字符串格式 df['你的列名'] = df['你的列名'].astype(str).str[:-2] # 如果需要转回整数格式,再加一步转换 df['你的列名'] = df['你的列名'].astype(str).str[:-2].astype(int)
举个实际例子验证:
import pandas as pd df = pd.DataFrame({'date_col': [20220401, 20230915, 20211231]}) # 用整除法处理 df['date_col'] = df['date_col'] // 100 # 处理后结果为[202204, 202309, 202112]
内容的提问来源于stack exchange,提问作者Fermy Aguilar
相关产品推荐
相关产品推荐

