首页 > 解决方案 > 不能使用摆来解析系列中的日期,但可以一一工作

问题描述

我正在尝试使用pendulum. 我有一个TimeStamp约会,所以我做了以下事情:

df['aux']=df['Date'].dt.date
df['p_date']=df.aux.apply(lambda x: pendulum.parse(x))

这带来了以下错误:

AttributeError: 'DateTime' object has no attribute 'nanosecond'

但如果我这样做,就像:

pendulum.parse(df.aux[0])

它被解析没有问题。我以为apply(lambda x:)将相同的功能应用于 的所有行Series,但现在它不起作用。发生了什么?

示例代码:

dates=pd.Series(['2018-03-20','2019-03-21'])
dates.apply(lambda x: pendulum.parse(x)) #Doesn't work
pendulum.parse(dates[0]) #Works

标签: pythonpandasdatependulum

解决方案


由于 pandas 在github中没有纳秒,因此将其转换为str, 而不是收到以下错误

“日期时间”对象没有属性“纳秒”

dates.apply(lambda x: str(pendulum.parse(x)))
Out[256]: 
0    2018-03-20T00:00:00+00:00
1    2019-03-21T00:00:00+00:00
dtype: object

推荐阅读