按日期筛选数据框,距当前日期前一周

时间:2018-12-13 14:52:50

标签: python pandas

我正在将.xlsx电子表格读取到Pandas DataFrame中,以便可以基于所有列删除重复的行,并将DataFrame导出到.csv中。列之一是日期列,格式为MM / DD / YY。

Here is a sample of the unaltered data

此电子表格包含每个星期五的工资单异常工资条目,该工资单基于从本周前一周到当前一周的小时数支付。每天都会添加行,并且该日的数据存在异常功能。我想告诉熊猫只在日期小于或等于当前星期五前一周的星期五日期的行中查找重复项(此脚本仅在星期五运行)。例如,如果今天是星期五12/7/18,我想设置上一个星期五的截止日期11/30/18,而仅查看日期为11/30/18或之前的行。如何在执行drop_duplicates之前以这种方式修剪DataFrame?

2 个答案:

答案 0 :(得分:1)

您可以使用日期和时间增量。

获取今天的日期。 从今天起将日期存储一周。 过滤数据(我不确定如何存储数据,但是我使用了生成名称)

kubectl exec gradlecommandfromcommandline -- ./gradlew gatlingRun- 
simulations.RuntimeParameters -DUSERS=500 -DRAMP_DURATION
=5 -DDURATION=30

答案 1 :(得分:0)

请注意,如果您确保确保脚本仅在运行,则可以使用1周(或7天)的固定时间窗口。

您当然可以通过编程获取上周五的日期,并在该日期过滤数据框:

from itertools import tee, izip

def pairwise(iterable):
    "s -> (s0,s1), (s1,s2), (s2, s3), ..."
    a, b = tee(iterable)
    next(b, None)
    return izip(a, b) 

b = [1,2,3,4,5,6,7]
a = iter(b)
c = pairwise(a)

for x, next_x in c:
    if x % 2 == 0:
        print next_x