PHP前端开发

Pandas如何优雅地处理含NaT时间戳的日期格式转换?

百变鹏仔 5天前 #Python
文章标签 格式转换

pandas处理空值时间戳转换

在处理数据时,从数据库中读取的时间戳可能包含空值(nat)。使用timestamp.strftime('%y-%m-%d')将其转换为字符串格式时,会遇到空值报错。

为了高效处理空值,可以使用lambda函数。以下示例演示了如何使用lambda函数同时处理空值和时间戳转换:

import pandas as pdimport numpy as np# 示例数据data = {    '出厂日期': [pd.timestamp('2021-01-01'), pd.nat, pd.timestamp('2021-01-03')]}df = pd.dataframe(data)# 用 lambda 函数,当遇到 nat 时返回 nonedf['出厂日期'] = df['出厂日期'].map(lambda x: x.strftime('%y-%m-%d') if pd.notna(x) else none)print(df)

lambda函数的使用方式如下:

输出结果如下:

   出厂日期0  2021-01-011     None2  2021-01-03

这种方法高效且简洁,可以同时处理空值和时间戳转换。