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

ID:21300 / 打印

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

pandas处理空值时间戳转换

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

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

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

lambda函数的使用方式如下:

  • lambda x: x.strftime('%y-%m-%d') if pd.notna(x) else none 表示,对于非空时间戳,将其转换为字符串格式;对于空时间戳,返回 none。
  • df['出厂日期'].map() 将此lambda函数应用于出厂日期列。

输出结果如下:

   出厂日期 0  2021-01-01 1     None 2  2021-01-03

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

上一篇: 使用 Flask-Login 登录时,如何正确获取数据库模型中用户的属性?
下一篇: FastAPI中间件如何同步执行?

作者:admin @ 24资源网   2025-01-14

本站所有软件、源码、文章均有网友提供,如有侵权联系308410122@qq.com

与本文相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。