转换和订购时间戳

我有一个时间戳的pandas df列,其中包含午夜之前的HH:MM和午夜之后的HH:MM:SS。最终,我想对这些值进行排序。


import pandas as pd


d = ({

    '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']]


             A

0     08:00:00

1     12:00:00

2  24:00:00:00

3     20:00:00

4     16:00:00

5  26:00:00:00

我的预期输出是:


          A

0  08:00:00

1  12:00:00

4  16:00:00

3  20:00:00

2  24:00:00

5  26:00:00


守着一只汪
浏览 159回答 3
3回答

汪汪一只猫

使用字符串切片:df['A'] = df['A'].str[:5] + ':00'print(df)          A0  08:00:001  12:00:002  24:00:003  20:00:004  16:00:005  26:00:00

catspeake

也许np.where在数据中使用情况24:00:01np.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)

蝴蝶刀刀

堆的另一个答案(仅将秒数添加到短字符串中):df.loc[df["A"].str.len()==5, "A"] += ":00"
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python