为了账号安全,请及时绑定邮箱和手机立即绑定

转换和订购时间戳

转换和订购时间戳

守着一只汪 2021-05-13 09:10:10
我有一个时间戳的pandas df列,其中包含午夜之前的HH:MM和午夜之后的HH:MM:SS。最终,我想对这些值进行排序。import pandas as pdd = ({    'A' : ['08:00','12:00','24:00:00','20:00','16:00','26:00:00'],    })df = pd.DataFrame(data=d)我无法将:00添加到该列中,因为它将返回:df['A'] = [x + ':00' for x in df['A']]             A0     08:00:001     12:00:002  24:00:00:003     20:00:004     16:00:005  26:00:00:00我的预期输出是:          A0  08:00:001  12:00:004  16:00:003  20:00:002  24:00:005  26:00:00
查看完整描述

3 回答

?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

使用字符串切片:


df['A'] = df['A'].str[:5] + ':00'


print(df)


          A

0  08:00:00

1  12:00:00

2  24:00:00

3  20:00:00

4  16:00:00

5  26:00:00


查看完整回答
反对 回复 2021-05-18
?
catspeake

TA贡献1111条经验 获得超0个赞

也许np.where在数据中使用情况24:00:01


np.where(df.A.str.len()==5,df.A+':00',df.A)

Out[187]: 

array(['08:00:00', '12:00:00', '24:00:00', '20:00:00', '16:00:00',

       '26:00:00'], dtype=object)


查看完整回答
反对 回复 2021-05-18
?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

堆的另一个答案(仅将秒数添加到短字符串中):

df.loc[df["A"].str.len()==5, "A"] += ":00"


查看完整回答
反对 回复 2021-05-18
  • 3 回答
  • 0 关注
  • 158 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信