首页 > 解决方案 > 当我在 python 中减去两个日期时消除“天”关键字

问题描述

我有两个日期列,我需要一个第三列,它给出前两列之间的天数(整数,如 2,3)。

我刚刚实现了 Date2-Date1,它给了我这个输出。

Date1      |  Date2     | Days
2017-10-24 | 2017-10-25 | 1 days
2017-11-24 | 2017-11-29 | 4 days

Days 列属于 timedelta64[ns] 类型。

如何摆脱 Days 列中的 days 关键字,以便我在 Days 列中只得到一个整数。

标签: pythonpython-3.xdatetimedataframe

解决方案


直接使用pd.Series.dt.days

import pandas as pd

df = pd.DataFrame({'Date1': ['2017-10-24', '2017-11-24'],
                   'Date2': ['2017-10-25', '2017-11-29']})

df['Date1'] = pd.to_datetime(df['Date1'])
df['Date2'] = pd.to_datetime(df['Date2'])

df['Days'] = (df['Date2'] - df['Date1']).dt.days

print(df)

       Date1      Date2  Days
0 2017-10-24 2017-10-25     1
1 2017-11-24 2017-11-29     5

推荐阅读