【发布时间】:2019-11-05 07:53:21
【问题描述】:
我正在尝试从 df['DOB'] 列中减去 df['date_of_admission'] 列以找出两者之间的差异并将年龄值存储在 df['age'] 列中,但是,我收到了这个错误:
OverflowError:int64 加法中的溢出
DOB date_of_admission age
2000-05-07 2019-01-19 12:26:00
1965-01-30 2019-03-21 02:23:12
NaT 2018-11-02 18:30:10
1981-05-01 2019-05-08 12:26:00
1957-01-10 2018-12-31 04:01:15
1968-07-14 2019-01-28 15:05:09
NaT 2018-04-13 06:20:01
NaT 2019-02-15 01:01:57
2001-02-10 2019-03-21 08:22:00
1990-03-29 2018-11-29 03:05:03
..... ......
..... .....
..... .....
我已经尝试过以下方法:
import numpy as np
import pandas as pd
from datetime import dt
df['age'] = (df['date_of_admission'] - df['DOB']).dt.days // 365
求出两者之间的差异后,期望得到以下年龄列:
age
26
69
NaN
58
.
.
.
【问题讨论】:
-
python怎么知道是日期?
-
您做对了,但
DOB包含唯一的日期并且date_of_admission包含日期和时间。操作date_of_admission使其仅包含日期,然后您将获得结果。
标签: python pandas datetime data-science timedelta