簡體   English   中英

如何在條件中使用列的滯后值填充 Pandas 中的另一列

[英]How to use Lag value of a column in condition to populate another column in Pandas

我有一個如下表:

在此處輸入圖像描述

我想用以下邏輯創建另一列(Check2):

  • 如果 Check1 ==0 則 Check2 = A
  • 否則 Check2 = Check2(滯后值) - B(滯后) - C(滯后)

預期的 Output 應該如下所示 -

在此處輸入圖像描述

我已經寫了下面的代碼,但是對於 50000 條記錄需要很長時間(以小時為單位),請幫助

for i in range(len(df)): 
            if df.loc[i,'Check1'] == 0:
                df.loc[i,'Check2'] = df.loc[i,'Volume']
            else:
                df.loc[i,'Check2'] = df.loc[i-1,'Check2'] - df.loc[i-1,'B'] -df.loc[i-1,'C']

您正在搜索: .shift() function。 它做你想做的事

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM