python - 尝试将一列日期减去另一个日期

标签 python pandas numpy datetime

我有日期:

dateTo=pd.to_datetime('today').strftime('%Y-%m-%d')

我想从日期列中减去dateTo:

       number      dates      coord
AC      10      2018-07-10     11.54
AC      10      2018-07-11     11.19
AN       5      2018-07-12     69.40

所需的输出将是一个新列df['datepond'],其中包含减法的输出。我希望这个输出是整数。

我尝试的是这里给出的响应 Pandas: Subtracting two date columns and the result being an integer :

df['datepond']=(pd.Timestamp(dateTo)-pd.to_datetime(df['dates']))/ np.timedelta64(1, 'D')

在 numpy 1.12.1 版本中,它工作得很好,但我现在在 numpy 1.15.2 中,它输出

TypeError: data type "datetime" not understood

如何获得所需的输出?

最佳答案

您可以尝试Timestamp.floor用于删除时间并将时间增量转换为天 Series.dt.days :

df['datepond']= (pd.to_datetime('today').floor('d') - pd.to_datetime(df['dates'])).dt.days
print (df)
    number       dates  coord  datepond
AC      10  2018-07-10  11.54        97
AC      10  2018-07-11  11.19        96
AN       5  2018-07-12  69.40        95

关于python - 尝试将一列日期减去另一个日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52814090/

相关文章:

python - 使用 Pandas 在python中查找连续相同行的数量

python - 如何使用numpy.random生成int数的矩阵

python - 显示处理后的 numpy 图像的 Webbots (OpenCV Python)

python - 无法构建轮子 - 错误 : invalid command 'bdist_wheel'

python - 将 confluent-kafka python 库与 AWS lambda 一起使用时出错

Python 数学 sin/cos 编码问题

python - 从 0 到 99 的 Numpy 随机数组,包括两者

python - 如何使用 plotly_express 绘制多折线图?

python - Pandas:Groupby 计为列值

python - 使用 Pandas 将相似的条目分组并合并在一起