Duration Protocol Direction Label
12 tcp bi normal-V45
2 udp one Botnet-45
2 icmp bi Botnet-68
3 tcp one normal-V73
5 udp bi Background-tcp
3 icmp one Background
Je veux sélectionner les lignes qui ont la dernière colonne (étiquette) comme normal ou Botnet. Je dois vérifier la condition si Label contient normal/Botnet, (ici normal-V45 et normal-V73 sont considérés comme normaux, concept similaire pour botnet). Donc la sortie devrait être:Comment sélectionner les lignes où la dernière colonne du dataframe contient une valeur spécifique
Duration Protocol Direction Label
12 tcp bi normal-V45
2 udp one Botnet-45
2 icmp bi Botnet-68
3 tcp one normal-V73
J'utilise ce qui suit chez les pandas, mais toutes les données sont en csv. Aide appréciée. En attente. Merci beaucoup à l'avance: data1 est la dataframe où toutes les données sont, [~ data1.iloc [:, - 1] .str est pour la sélection de la dernière colonne.
datagrouped = data1.loc[~data1.iloc[:,-1].str == 'Botnet']
double possible de [Comment filtrer les lignes de trame de données si la valeur de la colonne (chaîne) contient l'un des les valeurs dans un ensemble en python?] (https://stackoverflow.com/questions/36167381/how-to-filter-dataframe-rows-if-column-value-string-contains-any-of-the-values) – Vaishali