尝试将“KDDTest+.csv”的倒数第二列中的 23 个不同标签 分为四组。请注意,在执行此操作之前,我已删除了 csv 的最后一列。
我已经阅读了 .csv 文件使用
df = pd.read_csv('KDDTrain+.csv', header=None, names = col_names)
Run Code Online (Sandbox Code Playgroud)
在哪里
col_names = ["duration","protocol_type","service","flag","src_bytes",
"dst_bytes","land","wrong_fragment","urgent","hot","num_failed_logins",
"logged_in","num_compromised","root_shell","su_attempted","num_root",
"num_file_creations","num_shells","num_access_files","num_outbound_cmds",
"is_host_login","is_guest_login","count","srv_count","serror_rate",
"srv_serror_rate","rerror_rate","srv_rerror_rate","same_srv_rate",
"diff_srv_rate","srv_diff_host_rate","dst_host_count","dst_host_srv_count",
"dst_host_same_srv_rate","dst_host_diff_srv_rate","dst_host_same_src_port_rate",
"dst_host_srv_diff_host_rate","dst_host_serror_rate","dst_host_srv_serror_rate",
"dst_host_rerror_rate","dst_host_srv_rerror_rate","label"]
Run Code Online (Sandbox Code Playgroud)
如果我打印出数据框的前 5 行,这是输出(请注意“标签”列):
使用 print(df.head(5))
duration protocol_type ... dst_host_srv_rerror_rate label
0 0 tcp ... 0.00 normal
1 0 udp ... 0.00 normal
2 0 tcp ... 0.00 neptune
3 0 tcp ... 0.01 normal
4 0 tcp ... 0.00 normal
Run Code Online (Sandbox Code Playgroud)
我已经根据我在网上找到的内容尝试了这两种分组方法:
方法一:
df.replace(to_replace = ['ipsweep.', 'portsweep.', 'nmap.', 'satan.'], value …Run Code Online (Sandbox Code Playgroud)