首页 > 解决方案 > 根据独特区域查找频率

问题描述

我有一个包含 324 个区域的数据框,这里是格式的截图供参考:

在此处输入图像描述

我需要得到每个地区某个物种的频率。

所以我需要一种系统的方法来遍历每个区域,获取 total_observations 数字,然后将其除以该区域中所有 total_observations 的总和。

以阿富汗为例,我希望数据框中的每一行都有什么......我希望这是阿富汗的输出,但我需要在每个地区都发生这种情况。
在此处输入图像描述

标签: pythonpandasparsing

解决方案


我在我编写的最小数据框上尝试了这个,我认为它也应该适用于你的情况。它是 pandas .groupby() 方法的一个很好的用例。

freq = (df.groupby(["Region", "Species"]).sum() / df.groupby(["Region"]).sum())["total_observations"]

推荐阅读