相关疑难解决方法(0)

比较Pandas Dataframe Rows和Dropped具有重叠日期的行

我有一个数据框,里面填充了交易策略中的交易.需要更新交易策略中的逻辑,以确保如果策略已经在交易中,则不会进行交易 - 但这是一个不同的问题.许多先前交易的交易数据从csv文件读入数据帧.

这是我的数据问题:我需要对数据帧进行逐行比较,以确定rowX的Entrydate是否小于ExitDate rowX-1.

我的数据样本:

Row 1:
EntryDate  ExitDate
2012-07-25 2012-07-27 

Row 2:
EntryDate  ExitDate
2012-07-26 2012-07-29
Run Code Online (Sandbox Code Playgroud)

需要删除第2行,因为它是不应该发生的交易.

我无法确定哪些行是重复的,然后丢弃它们.我在这个问题的答案3中尝试了这个方法但运气不错,但这并不理想,因为我必须手动迭代数据帧并读取每一行的数据.我目前的方法是在下面,并且可能是丑陋的.我检查日期,然后将它们添加到新的数据帧.此外,这种方法在最终的数据帧中给了我多个重复.

for i in range(0,len(df)+1):
    if i+1 == len(df): break #to keep from going past last row
    ExitDate = df['ExitDate'].irow(i)
    EntryNextTrade = df['EntryDate'].irow(i+1)

    if EntryNextTrade>ExitDate: 
        line={'EntryDate':EntryDate,'ExitDate':ExitDate}
        df_trades=df_trades.append(line,ignore_index=True)
Run Code Online (Sandbox Code Playgroud)

关于如何更有效地实现这一目标的任何想法或想法?

如果您想尝试重现我的实际数据帧,可以单击此处查看我的数据样本.

python pandas

7
推荐指数
1
解决办法
3124
查看次数

标签 统计

pandas ×1

python ×1