[英]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.