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
这种方法高效且简洁,可以同时处理空值和时间戳转换。
以上就是Pandas如何优雅地处理含NaT时间戳的日期格式转换?的详细内容,更多请关注硕下网其它相关文章!