繁体   English   中英

奇怪的 output 的 Python strftime

[英]Strange output of Python strftime

我派生了一个 pandas 日期时间类型系列,其中包含许多 NA(称为 a)。 这里我使用 apply 方法将日期提取为字符串。 由于NA是float类型,所以我使用pd.isna()来判断NULL的值,但是结果很奇怪。

代码:

a.apply(lambda x:  x.strftime('%Y%m%d') if pd.notna(x) else x)

结果 1

结果 2

x.strtime() 将返回类型“str”。 但是如果 x 是 'NA',它将返回 'pd.NaT',它是 'datetime' 类型。 Pandas不会支持一个字符串的多种数据类型,你的'奇怪output的原因。

为避免此问题,请使用此行。

a.apply(lambda x:  x.strftime('%Y%m%d') if pd.notna(x) else '')

或者

a.apply(lambda x:  x.strftime('%Y%m%d') if pd.notna(x) else pd.NA)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM