【发布时间】:2018-03-12 11:47:36
【问题描述】:
当使用以下方法计算两个日期之间的差异时:
df_test['Difference'] = (df_test['First_Date'] - df_test['Second Date'])
我得到第三列“x 天”。
如何将 "x Days" 转换为 int "x"。例如,“50 天”变成“50”?
上一个帖子中有人建议使用:
df_test['Difference'] = (df_test['First_Date'] - df_test['Second Date']).dt.days
但是使用它我得到一个类型的错误:
"'Series'对象没有属性'dt"
请问我该如何解决这个问题?
【问题讨论】:
-
您是否将列转换为日期时间?
-
请添加您的 df 的数据样本。日期没有“x 天”——这是从某个地方输出的字符串。阅读How to create a Minimal, Complete, and Verifiable example
-
如果我减去两个日期/日期时间列,series.dt.days 对我来说效果很好
-
df_test['Difference'] = (df_test['First_Date'] - df_test['Second Date']).dt.days在 python 3.6、pandas 0.22 上为我工作。您能否编辑您的帖子并向我们展示除df_test、列的dtypes 以及您使用的pandas 的哪个版本? -
我使用的是 pandas 版本 '0.14.1' 和 python 版本 2.7。抱歉,“向我们展示除 df_test 之外的列的 dtypes”是什么意思?
标签: python python-3.x python-2.7 pandas