如何为 NaT 值指定指定的日期?

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

我的一个数据集,我必须每月进行一次分析。在我的 2023 年 12 月 csv 文件中,有一个日期时间列。但是,有一个日期(12 月 8 日)不符合日期时间格式。相反,由于某种原因,随机整数和小数只是填充它。以此为例:

日期时间
2023年7月12日晚上11点34分
2023年7月12日晚上11点59分
35345345.543453

所以我找到了删除它的方法。 我做了

df['Datetime'] = pd.to_datetime(df['Datetime'], datefirst=True, errors=coerce)
' 这将为我提供 NaT 值。现在我只想将所有 NaT 值转换为日期时间(2023 年 8 月 12 日上午 12:00)。它甚至没有 12 月 8 日。可以是 12 月 9 日下午 1 点,也可以是 12 月 15 日下午 4 点,但它只需要是 12 月的日期,以第一天为准,因为我正在进行月度分析。

python pandas datetime
1个回答
0
投票

只需

fillna
与所需的
Timestamp
:

df['Datetime'] = (pd.to_datetime(df['Datetime'], dayfirst=True, errors='coerce')
                    .fillna(pd.Timestamp('08/12/2023 12:00 am'))
                 )

输出:

             Datetime
0 2023-12-07 23:34:00
1 2023-12-07 23:59:00
2 2023-08-12 00:00:00
© www.soinside.com 2019 - 2024. All rights reserved.