首页 > 解决方案 > 基于不同列的值进行聚合

问题描述

我想将source_bytesifdestination_port的总和聚合80到一个单独的列中source_bytes_port_80

我的数据框

date                | source_ip     | destination_ip| source_bytes  | destination_port
2020-11-13 13:57:51 | 192.168.1.1   | 10.0.0.1      | 5             | 80
2020-11-13 13:57:51 | 192.168.1.2   | 10.0.0.1      | 1             | 2200  
2020-11-13 13:57:52 | 10.0.0.1      | 192.168.1.1   | 2             | 80
2020-11-13 13:59:53 | 192.168.1.1   | 192.168.1.2   | 3             | 443
2020-11-13 13:59:54 | 192.168.1.1   | 192.168.1.2   | 3             | 1100

我正在考虑创建一个单独的函数,然后调用它,.agg({'source_bytes':[sum_of_port]})但我不确定如何检查函数内部的条件。

标签: pandas

解决方案


df.groupby("desination_port")["source_bytes"].sum()

会给你每个destination_port的总和。然后根据需要将其添加回文件中。


推荐阅读