Python 将列作为时间进行分析

Python 将列作为时间进行分析,python,pandas,datetime,Python,Pandas,Datetime,我有一个混合格式的时间栏,例如19:30和8:00 pm。我该怎么办 将其指定为统一的时间格式,即%H:%m或%H:%m%p df["Timestamp"].head(10) 0 10:00 1 10:30 AM 2 11:00 3 11:30 AM 4 12:00 5 12:30 PM 6 13:00 7 1:30 PM 8 14:00 9 14:30 Name: Timestamp, dty

我有一个混合格式的时间栏,例如19:30和8:00 pm。我该怎么办 将其指定为统一的时间格式,即%H:%m或%H:%m%p

df["Timestamp"].head(10)


0       10:00
1    10:30 AM
2       11:00
3    11:30 AM
4       12:00
5    12:30 PM
6       13:00
7     1:30 PM
8       14:00
9       14:30
Name: Timestamp, dtype: object

您可以使用pandas
parse_datetime

In [57]: pd.to_datetime(pd.Series(['10:00', '9:00 AM', '10:20 PM'])).apply(lambda x: x.strftime(r'%H:%M:%S'))
Out[57]: 
0    10:00:00
1    09:00:00
2    22:20:00

但是当我执行pd.to_datetime(df.Timestamp.apply(lambda x:x.strftime(r'%H:%M:%S'))时,它会给我错误的
AttributeError:'str'对象没有属性'strftime'
您的括号是错误的。您首先需要解析到datetime,在
到_datetime
的结束括号之后,添加
apply
您是对的,
df[“Timestamp”]=pd.to _datetime(df.Timestamp).apply(lambda x:x.strftime(r'%H:%M:%S')
r'%H:%M:%S'
中的
r
是什么?为什么需要它?原始字符串。它们不会对反斜杠或百分比字符施加特殊含义。