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