Oll*_*ieP 7 python timedelta attributeerror
我在数据帧dtype中有一个列'delta':timedelta64 [ns],通过从另一个日期转包一个日期来计算.我试图通过使用此代码返回浮动天数:
from datetime import datetime
from datetime import date
df['days'] = float(df['delta'].days)
Run Code Online (Sandbox Code Playgroud)
但是我收到这个错误:
AttributeError: 'Series' object has no attribute 'days'
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?
Ase*_*hir 26
DataFrame 列是一个系列,对于系列,您需要 dt.accessor 来计算天数(如果您使用的是较新的 Pandas 版本)。你可以在这里查看文档
所以,你需要改变:
df['days'] = float(df['delta'].days)
Run Code Online (Sandbox Code Playgroud)
到
df['days'] = float(df['delta'].dt.days)
Run Code Online (Sandbox Code Playgroud)
how*_*ark 10
在减去日期时,您应该使用以下代码.
df = pd.DataFrame([ pd.Timestamp('20010101'), pd.Timestamp('20040605') ])
(df.loc[0]-df.loc[1]).astype('timedelta64[D]')
Run Code Online (Sandbox Code Playgroud)
所以基本上使用.astype('timedelta64[D]')减去的列.
| 归档时间: |
|
| 查看次数: |
13724 次 |
| 最近记录: |