AttributeError: 'Series' object has no attribute 'days'
AttributeError: 'Series' object has no attribute 'days'
我在数据帧 dtype 中有一列 'delta':timedelta64[ns],通过将一个日期从另一个日期分包来计算。我正在尝试使用此代码 return 将天数作为浮点数:
from datetime import datetime
from datetime import date
df['days'] = float(df['delta'].days)
但我收到此错误:
AttributeError: 'Series' object has no attribute 'days'
知道为什么吗?
在减去日期时,您应该使用以下代码。
df = pd.DataFrame([ pd.Timestamp('20010101'), pd.Timestamp('20040605') ])
(df.loc[0]-df.loc[1]).astype('timedelta64[D]')
所以基本上在减去的列上使用.astype('timedelta64[D]')
。
DataFrame 列是一个系列,对于系列,您需要 dt.accessor 来计算天数(如果您使用的是较新的 Pandas 版本)。您可以查看文档 here
因此,您需要更改:
df['days'] = float(df['delta'].days)
到
df['days'] = float(df['delta'].dt.days)
我在数据帧 dtype 中有一列 'delta':timedelta64[ns],通过将一个日期从另一个日期分包来计算。我正在尝试使用此代码 return 将天数作为浮点数:
from datetime import datetime
from datetime import date
df['days'] = float(df['delta'].days)
但我收到此错误:
AttributeError: 'Series' object has no attribute 'days'
知道为什么吗?
在减去日期时,您应该使用以下代码。
df = pd.DataFrame([ pd.Timestamp('20010101'), pd.Timestamp('20040605') ])
(df.loc[0]-df.loc[1]).astype('timedelta64[D]')
所以基本上在减去的列上使用.astype('timedelta64[D]')
。
DataFrame 列是一个系列,对于系列,您需要 dt.accessor 来计算天数(如果您使用的是较新的 Pandas 版本)。您可以查看文档 here
因此,您需要更改:
df['days'] = float(df['delta'].days)
到
df['days'] = float(df['delta'].dt.days)