数据框中的两列日期。第一列是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天。
答案 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'])