![](/img/trans.png)
[英]Create new Python DataFrame column based on conditions of multiple other columns
[英]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.