Pandas问题:如何去除小时列末尾的两个零
解决方法
你之前写的df= df[df[1] != 00]是用来筛选行的,和修改小时格式的需求不匹配,所以没用。下面是几种直接修改格式的方法(假设用Pandas处理数据):
字符串切片法(最直接)
你的小时列是四位字符串格式,直接取前两位就能得到目标格式:# 取前两位字符 df[1] = df[1].str[:2] # 或者去掉最后两位,效果相同 df[1] = df[1].str[:-2]如果小时列是数字类型(比如0000存成了0),需要先转成字符串再处理:
df[1] = df[1].astype(str).str.zfill(4).str[:2]其中
str.zfill(4)是把数字补成四位字符串(比如0变成'0000'),再取前两位。正则替换法
用正则表达式匹配末尾的两个0并替换为空:df[1] = df[1].str.replace(r'00$', '', regex=True)这种方法适合小时值都是整小时的情况(比如0000、0100...2300)。
处理后你的数据就能变成期望的两位小时格式了。
内容的提问来源于stack exchange,提问作者Saulo Carvalho
相关产品推荐
相关产品推荐

