python - azure ml 中两个日期之间的差异
问题描述
我试图在天数方面找到两个日期之间的差异。我正在尝试以下代码
d1=pd.to_datetime(dataframe1['Order Date'])
d=str(d1)
dates=datetime.strptime(d,'%m-%d-%Y')
d2=pd.to_datetime(dataframe1['Dispatch Date'])
dd=str(d2)
dates1=datetime.strptime(dd,'%m-%d-%Y')
dataframe1['Months_difference']=dates1-dates
但它正在显示这样的错误:
ValueError: 时间数据 '0 2017-02-13\n1 2017-02-24\n2 2017-03-02\n3 2017-03-06\n4 2017-03-06\n5 2017-03-06\n6 2017- 03-11\n7 2017-03-23\n8 2017-03-23\n9 2017-03-24\n10 2017-04-07\n11 2017-04-07\n12 2017-04-07\n13 2017-04 -07\n14 2017-04-07\n...\n855 2018-02-02\n856 2018-02-02\n857 2018-02-02\n858 2018-02-02\n859 2018-02-02\ n860 2018-02-01\n861 2018-02-06\n862 2018-03-15\n863 2018-03-21\n864 2018-03-21\n865 2018-04-05\n866 2018-04-07\n867 2018-04-07\n868 2018-04-11\n869 2018-04-10\n名称:订单日期,长度:870,dtype:datetime64[ns]' 与格式 '%m-%d-%Y' 不匹配进程返回非零退出代码 1 如何解决此问题
解决方案
IIUC,您可以在pandas
没有 datetime 模块的情况下从内部完成这一切。我假设您的起始数据框看起来像:
>>> dataframe1
Dispatch Date Order Date
0 2017-03-02 2017-02-13
1 2017-03-06 2017-02-24
在这种情况下,您可以这样做:
# set columns to datetime:
dataframe1['Order Date'] = pd.to_datetime(dataframe1['Order Date'])
dataframe1['Dispatch Date'] = pd.to_datetime(dataframe1['Dispatch Date'])
# Make a new column for the difference in days
dataframe1['day_diff'] = dataframe1['Dispatch Date'] - dataframe1['Order Date']
哪个输出:
>>> df
Dispatch Date Order Date day_diff
0 2017-03-02 2017-02-13 17 days
1 2017-03-06 2017-02-24 10 days
解释pandas
:在一个对象中减去两个日期时间Timedelta
对象(如在新列中day_diff
)。如果您希望它作为天数的整数表示,只需添加dt.days
到最后一个命令:
dataframe1['day_diff'] = (dataframe1['Dispatch Date'] - dataframe1['Order Date']).dt.days
推荐阅读
- kubernetes - Kubernetes - 在 prod 集群上运行 CI/CD 管道
- javascript - undefined 不是函数 foreach 循环
- kubernetes - 如何从事件(资源修改或删除)或 CronJob 创建卷快照?
- android - 将 ConstraintSet 与 ViewBinding 一起使用
- excel - 在 Excel 中使用 concat 函数的输出作为公式
- graphql - 有条件地忽略 NULL 变量上的 GraphQL 字段
- ajax - 我的 ajax 没有调用控制器上的方法
- next.js - 预期的服务器 HTML 包含匹配项在
- bigcommerce - 结帐页面的可定制性如何?
- html - 使用百里香返回上一页