python - 根据独特区域查找频率
问题描述
我有一个包含 324 个区域的数据框,这里是格式的截图供参考:
我需要得到每个地区某个物种的频率。
所以我需要一种系统的方法来遍历每个区域,获取 total_observations 数字,然后将其除以该区域中所有 total_observations 的总和。
解决方案
我在我编写的最小数据框上尝试了这个,我认为它也应该适用于你的情况。它是 pandas .groupby() 方法的一个很好的用例。
freq = (df.groupby(["Region", "Species"]).sum() / df.groupby(["Region"]).sum())["total_observations"]
推荐阅读
- c++ - wxWidgets,wxListCtrl:db-click 分隔线时如何防止自动调整列大小
- arrays - 有没有办法告诉 Rust 编译器在处理恐慌时对部分初始化的数组元素调用 drop ?
- google-maps - 谷歌地图API,获取用户城市/最近城市/一般区域
- sql - SQL 在另一个表的每一行上过滤一个表
- google-cloud-platform - 使用 Java 从 BigQuery 到 BigQuery 表的表复制中的 JSON 解析错误
- c# - 需要一个统一的公共类但被迫添加静态
- multithreading - 线程是否立即启动
- python - PyCriptodome AES ValueError(“PKCS#7 填充不正确。”)
- c - 如何使用自上而下的方法检索无界背包的拾取物品
- angular - Angular 5 ngModel setting default value based on form input