以下是使用Python pandas库实现上述操作的示例代码:

import pandas as pd
from sklearn.preprocessing import StandardScaler
from sklearn.preprocessing import OneHotEncoder

# 读取CSV文件
data = pd.read_csv("input.csv")

# 删除"id"和"label"列
data = data.drop(columns=["id", "label"])

# 获取需要进行One-Hot编码的列
columns_to_encode = ["proto", "service", "state", "attack_cat"]

# One-Hot编码
encoder = OneHotEncoder(sparse=False)
encoded_columns = pd.DataFrame(encoder.fit_transform(data[columns_to_encode]))
encoded_columns.columns = encoder.get_feature_names(columns_to_encode)

# 删除原始列
data = data.drop(columns_to_encode, axis=1)

# 拼接编码后的列
data = pd.concat([data, encoded_columns], axis=1)

# 进行正则化处理
scaler = StandardScaler()
data = pd.DataFrame(scaler.fit_transform(data), columns=data.columns)

# 保存到新的CSV文件
data.to_csv("output.csv", index=False)

请注意,这个示例中使用了sklearn库中的StandardScaler进行正则化处理,如果没有安装该库,请先通过pip install -U scikit-learn命令安装。

在一csv文件中将标签为proto、service、state、attack_cat的列进行one-hot编码并替换掉原来值删除id、label列将剩余的标签进行正则化处理并保存在新的csv文件中

原文地址: https://www.cveoy.top/t/topic/jaix 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录