如何 select 数据框最后一列包含特定值的行
How to select the rows where last column of dataframe contains specific value
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
我想 select 具有最后一列(标签)的行是正常的还是僵尸网络。
如果 Label 包含 normal/Botnet ,我必须检查条件(这里 normal-V45 和 normal-V73 被认为是正常的,类似于僵尸网络的概念)。所以输出应该是:
Duration Protocol Direction Label
12 tcp bi normal-V45
2 udp one Botnet-45
2 icmp bi Botnet-68
3 tcp one normal-V73
我在 pandas 中使用了以下内容,但所有数据都以 csv 格式提供。求助appreciated.Waiting。非常感谢:data1 是所有数据所在的数据框,[~data1.iloc[:,-1].str 用于 select 最后一列。
datagrouped = data1.loc[~data1.iloc[:,-1].str == 'Botnet']
将 .str.contans
与正则表达式和布尔索引一起使用:
df[df.Label.str.contains(r'normal|Botnet')]
输出:
Duration Protocol Direction Label
0 12 tcp bi normal-V45
1 2 udp one Botnet-45
2 2 icmp bi Botnet-68
3 3 tcp one normal-V73
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
我想 select 具有最后一列(标签)的行是正常的还是僵尸网络。 如果 Label 包含 normal/Botnet ,我必须检查条件(这里 normal-V45 和 normal-V73 被认为是正常的,类似于僵尸网络的概念)。所以输出应该是:
Duration Protocol Direction Label
12 tcp bi normal-V45
2 udp one Botnet-45
2 icmp bi Botnet-68
3 tcp one normal-V73
我在 pandas 中使用了以下内容,但所有数据都以 csv 格式提供。求助appreciated.Waiting。非常感谢:data1 是所有数据所在的数据框,[~data1.iloc[:,-1].str 用于 select 最后一列。
datagrouped = data1.loc[~data1.iloc[:,-1].str == 'Botnet']
将 .str.contans
与正则表达式和布尔索引一起使用:
df[df.Label.str.contains(r'normal|Botnet')]
输出:
Duration Protocol Direction Label
0 12 tcp bi normal-V45
1 2 udp one Botnet-45
2 2 icmp bi Botnet-68
3 3 tcp one normal-V73