【发布时间】:2019-04-24 22:03:02
【问题描述】:
我得到了一个如下所示的数据框:
| 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 | ... |
我想浏览一次数据框并添加一个新列,其中包含每个单元格占总单元格的百分比。不同时期的总数不同。
例如,上述 23/04/2019 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,同时我正在通过数据框填充新列。
任何帮助将不胜感激。
【问题讨论】:
-
你不能一次完成。对于每个日期,您需要查看该日期的所有值,然后返回并填写百分比。有快速的方法可以做到这一点,它仍然是线性时间,但从技术上讲,您不能一次性完成。截至发表此评论时,提供的两个答案都是这样做的。
标签: python pandas dataframe aggregate