簡體   English   中英

根據條件和其他列的匯總值創建新的數據框列

[英]Create new dataframe column based on conditions and aggregated values from other columns

我得到了如下數據框:

| DATETIME STR     | VALUE |
|------------------|-------|
| 23/04/2019 05:00 | 500   |
| 23/04/2019 05:00 | 300   |
| 23/04/2019 05:00 | 150   |
| ................ | ...   |
| 23/04/2019 23:55 | ...   |

我想遍歷數據框一次,並添加一個新列,該列具有每個單元格占總數的百分比。 總數在不同時間是不同的。

例如,2019年4月23日05:00的上述百分比將是:

| DATETIME STR     | VALUE | PERCENTAGE |
|------------------|-------|------------|
| 23/04/2019 05:00 | 500   | 52.63 %    |
| 23/04/2019 05:00 | 300   | 31.58 %    |
| 23/04/2019 05:00 | 150   | 15.79 %    |
| 23/04/2019 10:00 | 600   | ..... %    |
| ................ | ...   | ..... %    |
| 23/04/2019 23:55 | ...   | ..... %    |

我怎樣才能做到這一點?

我想我正在看類似的東西:

dataframe["PERCENTAGE"] = (100 * dataframe["VALUE"])/sum_of_same_date

我無法弄清楚如何在填充新列的數據幀中同時為每個要填充的單元格計算sum_of_same_date

任何幫助,將不勝感激。

嘗試transform

dataframe["PERCENTAGE"] = (100 * dataframe["VALUE"])/dataframe.groupby('DATETIME STR')['VALUE'].transform('sum')

暫無
暫無

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

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