簡體   English   中英

如果另一列中存在任何值> 0,則需要為數據框分配值

[英]Need to assign values to a dataframe if any value >0 exists in another column

我正在使用交易數據庫查詢集,但無法提取特定的付款日期,因此我嘗試用python編寫sone代碼為我分配日期。 我的第一個想法是在excel中執行此操作,但數據集是800,000+行X 100+列,因此以任何其他方式執行此操作都不切實際。 數據集在付款列的某些行中具有值,因此我需要添加一個日期列,該日期列僅在包含付款金額的行中具有日期。

我已經創建了所有列來存儲日期,並且我的想法是遍歷各行並分配一個日期(如果該行包含的值大於零)(因為列中有0以及NULL值)。

df['Payment Date] = ''

for value in df:
    if value > 0 :
        df['Payment Date'] = '06/01/2019'

我希望輸出將日期分配給付款日期列中具有實際值的行。

如果我理解正確,則您嘗試(1)識別數據框中具有大於零值的行,並且(2)為所有這些行的新列分配特定日期。

首先,為了可重復性和清晰度,讓我們生成一些代表數據集的隨機數據:

import pandas as pd

# Generate a random 5x4 Dataframe
df = pd.DataFrame(np.random.randn(5,4), columns=list('ABCD'))

# Set many of the values to zero 
df[df > 0] = 0

現在,我們要創建一個新列來存儲所需的日期:

df['Payment Date'] = ''

最后,將該列設置為包含大於零的所有值的所有行的期望日期(請注意,這要求所有行的總和(不包括N / As)大於零,這是下面測試的條件):

row_inds = df.sum(axis=1, skipna=True)>0
df.loc[row_inds, 'Payment Date'] = '06/01/2019'

這給您想要的結果。

暫無
暫無

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

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