我目前正在尝试使用深度学习构建自己的IDS。但是我在对数据集进行预处理时遇到了一些麻烦。
我的目标是用其32位功能替换每个IP地址。
在以下链接上,您可以看到结果。 Target
我已经编写了代码,但是代码非常混乱,我想知道是否有一种方法可以更有效地执行此操作。
def convert_to_binary(adresses):
result = pd.DataFrame()
values = []
for row, column in adresses.iterrows():
for element in range(len(column)):
value = bin(int(column[element]))[2:].zfill(8)
values.append([c for c in value])
values = [item for sublist in values for item in sublist]
result = result.append(pd.Series(values), ignore_index = True)
values = []
return result
# separate IP adresses
src = chunk.iloc[:, 0].str.split('.', expand = True)
source = convert_to_binary(src)
如您所见,我首先将IP地址分为四个部分。然后我计算每个元素的二进制值。
任何帮助将不胜感激。