尝试使用 pandas 对网络跟踪数据进行分析。我已读取转储文件并创建了以下 DataFrame:
因此,为了检测 DataFrame
data2
中的各个流,我根据 ['ip_src' 对整个
使用以下代码:DataFrame
进行了分组, 'ip_dst', 'sport', 'dport', 'ip_proto', 'service']
flow = ['ip_src', 'ip_dst', 'sport', 'dport', 'ip_proto', 'service']
grp1 = data2.groupby(flow, sort=False)
因此,当我对 data2
的前二十行执行 grp1.size()
时,我得到以下信息:
我现在想做的是计算ip_len
、packet_len
、var
的mean
数据包间到达时间的 ip_len
、packet_len
和 mean
(使用属于同一流的数据包的时间戳
) .
如何在 pandas 中完成此操作,以便我获得的数据帧包含每个流的统计信息,即列应包含 ip_src
、ip_dst
、sport
、dport
、ip_proto
、service
以及之前计算的平均值和 var 值。我已经尝试了 aggr
和 apply
方法,但无法做到这一点。提前致谢!
最佳答案
data2.groupby(['colName1','colName2']).mean()
应该可以完成这项工作。
关于python - Pandas:计算分组在一起的相似列的平均值、var,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31682966/