簡體   English   中英

如何創建一個根據條件對特定行求和的變量並將其用於其他公式?

[英]how can i create a variable that sums specific rows based on a condition and use it in other formulas?

我正在嘗試對“unique_id”進行分組,如果“twelve_wks_prior_TF”為真,則對“sum_ni”求和。

這就是我所擁有的,但我不能在其他領域重新使用這個變量。 經過一番研究,我知道我不能重用它,因為索引沒有對齊。

如何重新創建下面的公式並能夠在其他計算中重新使用它?

df_DTO2['twelve_wk_usage'] = df_DTO2[df_DTO2.twelve_wks_prior_TF == True
].groupby(['unique_id'])['sum_ni'].transform(sum))

預先感謝您的任何幫助。

嘗試以下(未經測試的)代碼。 你有過濾True的正確想法。 指定== True是多余的。 如果您通過 boolean 系列,默認情況下,它將過濾True值。 然后,只需從新創建的列中獲取每個組的最大值:

 df_DTO2['twelve_wk_usage'] = df_DTO2[df_DTO2['twelve_wks_prior_TF']].groupby('unique_id')['sum_ni'].transform(sum)
 df_DTO2['twelve_wk_usage'] = df_DTO2.groupby('unique_id')['twelve_wk_usage'].transform(max)
 df_DTO2['current_wk_usage'] = df_DTO2['current_wk_usage'].astype(float)
 df_DTO2['twelve_wk_usage'] = df_DTO2['twelve_wk_usage'].astype(float)
 df_DTO2['12_wk_CGR'] = df_DTO2['current_wk_usage'] / df_DTO2['twelve_wk_usage']
 df_DTO2

暫無
暫無

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

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