Python pandas中DateTime的字符串分析不正确
我在pandas中有一个数据帧,它有两个字段:Python pandas中DateTime的字符串分析不正确,python,pandas,Python,Pandas,我在pandas中有一个数据帧,它有两个字段: UsageStartDate UsageEndDate 5/1/2020 12:00:00 AM 5/1/2020 11:59:59 PM 我正在尝试将它们转换为24小时格式 我正在使用以下工具: df['UsageStartDate'] = pd.to_datetime(df['UsageStartDate'], format='%m/%d/%Y %I:%M:%S %p') df['UsageEndDate'] = pd.to
UsageStartDate UsageEndDate
5/1/2020 12:00:00 AM 5/1/2020 11:59:59 PM
我正在尝试将它们转换为24小时格式
我正在使用以下工具:
df['UsageStartDate'] = pd.to_datetime(df['UsageStartDate'], format='%m/%d/%Y %I:%M:%S %p')
df['UsageEndDate'] = pd.to_datetime(df['UsageEndDate'], format='%m/%d/%Y %I:%M:%S %p')
UsageEndDate
字段提供正确的输出:2020-05-01 23:59:59
然而,UsageStartDate
给出:2020-05-01
我还尝试在读取csv文件时解析日期:
df = pd.read_csv('./data/sample.csv', parse_dates=['UsageStartDate', 'UsageEndDate'])
它返回与上面相同的结果
请帮忙。熊猫将显示不带尾随零的字段,这是一个美观的选择。您的实际时间戳值正确:
df['UsageStartDate'] + pd.Timedelta(seconds=1)
0 2020-05-01 00:00:01
Name: UsageStartDate, dtype: datetime64[ns]
如果希望将完整值作为字符串,可以使用时间戳字符串格式化程序获取它:
df['UsageStartDate'].dt.strftime(“%m/%d/%Y%I:%m:%S%p”)
2020年05月01日凌晨12:00:00
名称:UsageStartDate,数据类型:object#
df['UsageStartDate'].dt.strftime('%m/%d/%Y %I:%M:%S %p')
0 05/01/2020 12:00:00 AM
Name: UsageStartDate, dtype: object # <- Note that this is now object type