Comment utiliser deux keys dans groupby
Utilisateur anonyme
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Je voudrais incrémenter un compteur des critères. Pour cela, j'ai utilisé la fonction sorted et groupby
Maintenant je veux que mon compteur s'incrémente selon deux critères: quand on trouve et le numéro de tcp.seq et le numéro ack en double. Quand j'ai tcp.seq et tcp.ack en double le compteur s'incrémente. Je ne sais pas comment ajouter un second critère dans groupby. Une idée ?
from itertools import groupby def tcp_seq(p): return p['TCP'].seq def tcp_ack(p): return p['TCP'].ack def groups_by_seq(s): x = sorted((p for p in s if p.haslayer('TCP')), key=tcp_seq) y = [(k, list(g)) for k, g in groupby(x, key=tcp_seq)] return [(seq, group) for seq, group in y if len(group) > 1] def duplication_pkt_count(s, s_ip, c_ip): sCount = 0 cCount = 0 for seq, group in groups_by_seq(s): for p in group: if p.haslayer(IP): if (p[IP].src == s_ip): sCount += 1 if (p[IP].src == c_ip): cCount += 1 return (sCount, cCount)
Maintenant je veux que mon compteur s'incrémente selon deux critères: quand on trouve et le numéro de tcp.seq et le numéro ack en double. Quand j'ai tcp.seq et tcp.ack en double le compteur s'incrémente. Je ne sais pas comment ajouter un second critère dans groupby. Une idée ?
A voir également:
- Comment utiliser deux keys dans groupby
- Comment utiliser chromecast sur tv - Guide
- Comment faire deux colonnes indépendantes dans word - Guide
- Deux ecran pc - Guide
- Utiliser iphone comme webcam - Guide
- Comment utiliser deux numéros sur whatsapp - Guide
1 réponse
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
ne suffit-il pas d'utiliser une clé qui regroupe seq et ack?
ne suffit-il pas d'utiliser une clé qui regroupe seq et ack?
comment peut-on regrouper plusieurs éléments en python?