使用 Windows 解析 Pandas 中的单个小数小时



我有以下Pandas DataFrame:

date         hour  
20140101     0 
20140101     1 
20140101     2  
20140101     3   
20140101     4
...          ...

我想将这两者合并到一个日期时间列中。我已经尝试了以下方法,但是由于我使用的是Windows而出现错误,我认为:

wdf['date'] = wdf['date'].astype(str) + ' ' + wdf['hour'].astype(str)
wdf['date'] = pd.to_datetime(wdf['date'], format='%Y%m%d %-H')

值错误:"-"是格式为"%Y%m%d %-H"的错误指令

我已经尝试过%#H,但这导致了类似的错误。我必须使用破折号或井号,因为小时表示法是单个小数。

我会尝试使用zfill在需要时填充0,并使用常规%H

试试这个:

wdf['date'] = wdf['date'].astype(str) + ' ' + wdf['hour'].astype(str).str.zfill(2)
wdf['date'] = pd.to_datetime(wdf['date'], format='%Y%m%d %H')

输出:

                 date  hour
0 2014-01-01 00:00:00     0
1 2014-01-01 01:00:00     1
2 2014-01-01 02:00:00     2
3 2014-01-01 03:00:00     3
4 2014-01-01 04:00:00     4

最新更新