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

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时间戳的日期格式转换?的详细内容,更多请关注硕下网其它相关文章!