减去熊猫中的日期时间始终等于0

时间:2018-12-04 12:03:24

标签: python pandas datetime

数据框中的两列日期。第一列是df ['schedule_day'],第二列是df ['appointment_day']。我正在尝试创建另一列,这两者之间将有所不同。但是,当我进行减法运算时,新列的每个答案只有0。

原始数据将这些日期作为字符串,我在进行减法之前将它们转换为datetime对象,结果仍然是datetime对象。 这是我到目前为止使用的代码。

df = pd.read_csv('noshowappointments-kagglev2-may-2016.csv')

df['schedule_day'] = pd.to_datetime(df['schedule_day'])
df['appointment_day'] = pd.to_datetime(df['schedule_day'])

df['difference'] = df['schedule_date'] - df['appointment_date']

当我检查dtype时,在初始读取后,它们是对象/字符串类型。进行转换后,它们是datetime64 [ns]。

我还尝试将日期和时间分开分成几列来进行减法运算,但每行仍然只能得到0天。

1 个答案:

答案 0 :(得分:1)

小拷贝错误,两次转换都使用df ['schedule_day']

df['schedule_day'] = pd.to_datetime(df['schedule_day'])
df['appointment_day'] = pd.to_datetime(df['schedule_day'])

更改为:

df['schedule_day'] = pd.to_datetime(df['schedule_day'])
df['appointment_day'] = pd.to_datetime(df['appointment_day'])