2024-04-26 04:28:08 发布
网友
我在一个日志数据,我必须找到一个软件的日常使用。例如,如果日志为用户显示:开始时间04/01/2019上午9:15结束时间04/03/2019下午12:00。如果我在这两个日期之间取一个差值,那么我将得到跨度的数据使用情况,而不是特定日期的数据使用情况。有没有一种方法,我可以得到每天的数据使用情况,直到结束日期。你知道吗
数据的形式如下所示
这就是我想要达到的目标
因为,你没有提供一些原始数据,我自己创建了一些假数据。另外,我也不确定你的意思是不是要从你的描述中比较Start date和End date。如果我误解了你,请在下面发表评论。你知道吗
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
如果需要比较实际日期,可能需要使用datetimelib之类的方法。表格示例:
datetime
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
因为,你没有提供一些原始数据,我自己创建了一些假数据。另外,我也不确定你的意思是不是要从你的描述中比较
Start date
和End date
。如果我误解了你,请在下面发表评论。你知道吗如果需要比较实际日期,可能需要使用
datetime
lib之类的方法。表格示例:相关问题 更多 >
编程相关推荐