我试图使用Pandas ' to _datetime‘来转换日期和时间字符串,但是字符串值是非零填充的:
3/31/22 23:30
3/31/22 23:45
4/1/22 0:00
4/1/22 0:15我有以下内容,但是得到了一个不匹配的错误
pd.to_datetime(df.TimeStamp, format="%m/%d/%y %H:%m")是否有办法添加零填充或让'to_datetime‘接受上述格式?
发布于 2022-09-07 23:23:29
问题不在于填充,而在于您的格式调用。注意分钟(m)与月份(M)的大写,两者都使用(m)。(这里的文件)。
下面是工作代码的演示
pd.to_datetime(df.TimeStamp,format="%m/%d/%y %H:%m")
应该是
pd.to_datetime(df.TimeStamp,format="%M/%d/%y %H:%m")
import pandas as pd
times = [
"3/31/22 23:30",
"3/31/22 23:45",
"4/1/22 0:00",
"4/1/22 0:15"
]
df = pd.DataFrame(times, columns=['TimeStamp'])
pd.to_datetime(df.TimeStamp, format="%m/%d/%y %H:%M")
>> 0 2022-03-31 23:30:00
>> 1 2022-03-31 23:45:00
>> 2 2022-04-01 00:00:00
>> 3 2022-04-01 00:15:00
>> Name: TimeStamp, dtype: datetime64[ns]尽管如此,如果有人在这里寻找零填充的解决方案,那么散列/破折号的技巧值得一读(尽管它在许多情况下并不有效)。
https://stackoverflow.com/questions/73642093
复制相似问题