Я работаю над проектом, в котором применяется метод One Hot Encoding для категориального столбца файла .binetflow.
CODE:
import pandas as pd
from sklearn.preprocessing import LabelEncoder,OneHotEncoder
mydataset = pd.read_csv('originalfiletest.binetflow')
le = LabelEncoder()
dfle = mydataset
dfle.State = le.fit_transform(dfle.State)
X = dfle[['State']].values
ohe = OneHotEncoder()
Onehot = ohe.fit_transform(X).toarray()
dfle['State'] = Onehot
mydataset.to_csv('newfiletest.binetflow', columns=['Dur','State','TotBytes','average_packet_size','average_bits_psecond'], index=False)
Исходный файл binetflow
В настоящее время я использую Панд и могу применить эту технику.Проблема в том, что мне нужно записать во второй файл .
Когда я пытаюсь записать, я ожидаю вывод, например: 0001 или 0.0.0.1 в переменной Onehot, но я получаю 0.0 или 1.0, когда пытаюсь передать его в столбец dfle ['State'].Изображения можно найти ниже.
переменная Onehot
column dfle ['State']
Кроме того, столбецэто должно просто записать, когда я пишу print на компиляторе, он показывает правильно, но когда он пишет в файл, он добавляет несколько десятичных знаков.
Оригинальный и новый файл binetflow