将单独的日期和时间列与时间列中的 NaT 连接到日期时间列时出错

问题描述 投票:0回答:1

我们有一个日期列和时间列,如下所示,我们想要一个日期时间列

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

但是,我不断收到以下错误。

TypeError: unsupported operand type(s) for +: 'datetime.date' and 'datetime.time'
python pandas dataframe datetime
1个回答
0
投票

试试这个:

import pandas as pd
from datetime import datetime

# Sample DataFrame
data = {'date': ['20240101', '20240102'],
        'time': ['12:00:00', '13:30:00']}
df = pd.DataFrame(data)

# Convert date and time columns to datetime objects
df['date'] = pd.to_datetime(df['date'], format='%Y%m%d', errors='coerce').dt.date
df['time'] = pd.to_datetime(df['time'], format='%H:%M:%S', errors='coerce').dt.time

# Combine date and time into datetime column
df['datetime'] = df.apply(lambda row: datetime.combine(row['date'], row['time']), axis=1)

print(df)

输出:

         date      time            datetime
0  2024-01-01  12:00:00 2024-01-01 12:00:00
1  2024-01-02  13:30:00 2024-01-02 13:30:00
© www.soinside.com 2019 - 2024. All rights reserved.