我希望能够按日期时间的升序对数据框进行排序,但是我目前不允许的格式。
我尝试过
df2['Date'] = pd.to_datetime(df2['Times'], format='%m/%d/%Y')
df2['Times'] = pd.to_datetime(df2['Times'], format='%H:%M:%S %p')
我目前有这个
df2.iloc[:,0:2]
Date Times
0 1/2/2018 3:00 AM
1 10/3/2018 3:50 PM
2 10/10/2019 11:14 PM
这是我想要的输出
Date Times
0 01/02/2018 03:00
1 10/03/2018 15:50
2 10/10/2019 23:14
或任何可以使我按日期时间排序的输出。
答案 0 :(得分:0)
您接近了,主要问题是使用%I
来表示12h格式的比赛时间,最后使用%H
来表示24h格式的小时,请检查http://strftime.org/
。最后为自定义输出格式添加Series.dt.strftime
:
print (df2)
Date Times
0 1/2/2018 3:00 AM
1 10/3/2018 3:50 PM
2 10/10/2019 11:14 PM
df2['Date'] = pd.to_datetime(df2['Date'], format='%m/%d/%Y').dt.strftime('%m/%d/%Y')
df2['Times'] = (pd.to_datetime(df2['Times'].str.strip(), format='%I:%M %p')
.dt.strftime('%H:%M'))
print (df2)
Date Times
0 01/02/2018 03:00
1 10/03/2018 15:50
2 10/10/2019 23:14