Skip to main content
 首页 » 编程设计

Python 将日期和时间转换为 pandas 索引

2025年05月04日21开发

我想将我的日期时间列转换为 pandas 数据帧索引。这是我的数据框

    Date               Observed Min Max Sum Count 
0   09/15/2018 12:00:00 AM  2   0   2   10  5 
1   09/15/2018 01:00:00 AM  1   0   2   25  20 
2   09/15/2018 02:00:00 AM  1   0   1   21  21 
3   09/15/2018 03:00:00 AM  1   0   2   23  22 
4   09/15/2018 04:00:00 AM  1   0   1   21  21 

我希望日期成为数据框的索引。

我一直在寻找答案并尝试过这段代码

dateparse = lambda dates: pd.datetime.strptime(dates, '%m/%d/%Y %I:%M:%S').strftime('%m/%d/%Y %I:%M:%S %p') 
data = pd.read_csv('mandol.csv', sep=';', parse_dates=['Date'], index_col = 'Date', date_parser=dateparse) 
data.head() 

但结果还是报错-> ValueError: unconverted data remains: AM

我该如何解决这个问题?

请您参考如下方法:

使用 pd.to_datetime() 转换 Date 列并使用 set_index() 将其设置为数据帧索引。

import pandas as pd 
 
>>>df 
    Date               Observed Min Max Sum Count 
0   09/15/2018 12:00:00 AM  2   0   2   10  5 
1   09/15/2018 01:00:00 AM  1   0   2   25  20 
2   09/15/2018 02:00:00 AM  1   0   1   21  21 
3   09/15/2018 03:00:00 AM  1   0   2   23  22 
4   09/15/2018 04:00:00 AM  1   0   1   21  21 
 
df.Date = pd.to_datetime(df.Date) 
df.set_index('Date', inplace=True) 
 
>>>df 
                     Unnamed: 0  Observed  Min  Max  Sum  Count 
Date 
2018-09-15 00:00:00           0         2    0    2   10      5 
2018-09-15 01:00:00           1         1    0    2   25     20 
2018-09-15 02:00:00           2         1    0    1   21     21 
2018-09-15 03:00:00           3         1    0    2   23     22 
2018-09-15 04:00:00           4         1    0    1   21     21