我正在处理一个日志数据,我不得不每天查找该软件的使用情况。例如,如果日志显示给用户:开始时间04/01/2019 9:15 AM结束时间04/03/2019 12:00 PM。如果我在这两个日期之间取一个差值,那么我将获得该跨度的数据使用情况,而不是特定日期的数据使用情况。有没有一种方法可以让我获取直到结束日期的每天数据使用量。
数据将具有如下所示的类似形式
这就是我要实现的目标
答案 0 :(得分:0)
由于您没有提供某些原始数据,所以我自己创建了一些虚假数据。另外,我不确定您是否打算将描述中的Start date
与End date
进行比较。如果我误解了您,请在下面发表评论。
In [10]: import pandas as pd
In [11]: import numpy as np
In [12]: df1 = pd.DataFrame({"A":[1,2], "Start":[20190302, 20190401], "End": [20190304, 20190402]})
In [13]: df1
Out[13]:
A Start End
0 1 20190302 20190304
1 2 20190401 20190402
In [14]: df2 = pd.DataFrame(df1.values.repeat((df1.End - df1.Start > 1) + 1, axis=0), columns=df1.columns)
In [15]: df2
Out[15]:
A Start End
0 1 20190302 20190304
1 1 20190302 20190304
2 2 20190401 20190402
如果您需要比较实际日期,则可能需要使用datetime
lib之类的方法来进行。表单示例:
In [28]: import datetime
In [29]: dt1 = datetime.datetime.strptime("11/30/2018 17:13", "%m/%d/%Y %H:%M")
In [30]: dt1
Out[30]: datetime.datetime(2018, 11, 30, 17, 13)
In [31]: dt2 = datetime.datetime.strptime("11/29/2018 17:13", "%m/%d/%Y %H:%M")
In [32]: dt3 = datetime.datetime.strptime("11/28/2018 17:13", "%m/%d/%Y %H:%M")
In [33]: dt1 - dt2
Out[33]: datetime.timedelta(days=1)
In [34]: (dt1 - dt2).days
Out[34]: 1
In [35]: (dt1 - dt3).days
Out[35]: 2