繁体   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