从pandas日期列中减去当前时间

时间:2015-04-27 17:11:25

标签: python pandas

我有一个像

这样的pandas数据框
rate.forEach((row) async {

我想了解x = pd.DataFrame(['05/06/2015 00:00', '22/06/2015 00:00', None], columns=['myDate']) 列中的日期与当前日期之间的天数。我怎样才能做到这一点?我尝试了下面没有太大的成功

myDate

1 个答案:

答案 0 :(得分:9)

以下内容适用于我:

In [9]:

df = pd.DataFrame(['05/06/2015 00:00', '22/06/2015 00:00', None], columns=['myDate'])
df['myDate']= pd.to_datetime(df['myDate'], coerce=True)
df
Out[9]:
      myDate
0 2015-05-06
1 2015-06-22
2        NaT
In [10]:

df['diff'] = df['myDate'] - dt.datetime.now().date()
df
Out[10]:
      myDate    diff
0 2015-05-06  9 days
1 2015-06-22 56 days
2        NaT     NaT

与您的版本一样:

In [13]:

df['diff'] = df['myDate'] - pd.datetime.now().date()
df
Out[13]:
      myDate    diff
0 2015-05-06  9 days
1 2015-06-22 56 days
2        NaT     NaT

更紧凑的版本:

In [15]:

df = pd.DataFrame(['05/06/2015 00:00', '22/06/2015 00:00', None], columns=['myDate'])
df['diff']= pd.to_datetime(df['myDate'], coerce=True) - pd.datetime.now().date()
df
Out[15]:
             myDate    diff
0  05/06/2015 00:00  9 days
1  22/06/2015 00:00 56 days
2              None     NaT