我正在使用 pandas 处理来自 csv 文件的一些数据。
我需要按 MEETING START TIME 列对 DataFrame df 中的数据进行排序,只需对时间进行排序。日期由另一个字段处理。
但我得到的结果是:
MEETING START TIME
10:30 AM
12:30 PM
2:00 PM
4:00 PM
9:15 AM
9:15 AM
早上的任何 session 时间只有个位数的时间就结束了。我需要对日期格式或排序命令做些什么吗?
请您参考如下方法:
您可以使用 pd.datetools.parse 尝试将日期列(当前为字符串)转换为日期时间对象;那么你应该能够排序:
df = pd.DataFrame({'MEETING START TIME': ['10:30 AM','12:30 PM', '2:00 PM', '4:00 PM', '9:15 AM', '9:15 AM']})
df['MEETING START TIME'] = df['MEETING START TIME'].map(lambda x: pd.datetools.parse(x))
df.sort('MEETING START TIME')
Out[33]:
MEETING START TIME
5 2015-08-05 09:15:00
4 2015-08-05 09:15:00
0 2015-08-05 10:30:00
1 2015-08-05 12:30:00
2 2015-08-05 14:00:00
3 2015-08-05 16:00:00
