如何在计算两个日期之间的差异时删除“天”?

问题描述 投票:-1回答:2

使用以下方法计算两个日期之间的差异时:

df_test['Difference'] = (df_test['First_Date'] - df_test['Second Date'])

我得到了第三列“x Days”。

如何将“x Days”转换为int“x”。例如,“50天”变成“50”?

上一个帖子中有人建议使用:

df_test['Difference'] = (df_test['First_Date'] - df_test['Second Date']).dt.days

但使用它我得到一个类型的错误:

“'系列'对象没有属性'dt”

我该如何解决这个问题呢?

python python-3.x python-2.7 pandas
2个回答
0
投票

如果我坚持你的代码,但填写了补充数据,这个修改对我有用。基本上你将df_test['Difference'].dt.days重新分配给df_test['Difference']

df_test=pd.DataFrame(dict(zip(['First_Date', 'Second_date'], [pd.date_range("2018-01-01",periods=10), pd.date_range("2017-01-01",periods=10)])))
df_test['Difference'] = df_test['First_Date'].sub(df_test['Second_date'], axis=0)
df_test['Difference']=df_test['Difference'].dt.days

0
投票

如果是字符串变量。然后你可以做以下事情并剥离不需要的部分。 (比如你的变量是xDays)

df["xDays"] = df["xDays"].map(lambda x: x[:-5])

如果它是timedelta值,您可以执行以下操作

df["xDays"].dt.days
© www.soinside.com 2019 - 2024. All rights reserved.