熊猫将两列转换为日期时间会连续出错

时间:2020-07-04 13:01:34

标签: python pandas dataframe datetime types

我有一个数据框,其中包含带有日期的列(例如01.01.2006)和带有时间的列(例如16:00)。我正在尝试2个小时,将2合并到一个单独的列datetime中。 datetime的格式应为任何表示日期和时间的格式,例如16:00-01.01.2006。数据框的最小版本如下所示:

array([['01.01.2006', '01:00', 121.82],
       ['01.01.2006', '02:00', 120.78],
       ['01.01.2006', '03:00', 112.51],
       ['01.01.2006', '04:00', 100.63],
       ['01.01.2006', '05:00', 66.11]], dtype=object)

我最近尝试了很多选择:

df['datetime'] = df['date'] + ' ' + df['time']
df['datetime'] = pd.to_datetime(df[['datetime']], format='%d.%m.%Y %H:%M')

第二行出现错误:

ValueError: to assemble mappings requires at least that [year, month, day] be specified: [day,month,year] is missing

1。)上面我在做什么错了?

2。)是否有较短的方法将2列立即转换为所需的datetime? Tnx

1 个答案:

答案 0 :(得分:1)

首先,如果您感兴趣,我没有看到Quand Hoang的答案:

df.apply(lambda row: pd.to_datetime(" ".join(row[["date", "time"]])), axis=1)