我正在做一个项目,将One Hot编码技术应用于.binetflow文件的分类列。你知道吗
代码:
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)
目前,我正在使用熊猫,我能够应用这项技术。问题是当我需要写入第二个文件时。你知道吗
当我尝试写入时,我期望的输出是,例如:0001或变量Onehot中的0.0.0.1,但当我尝试将其传递给dfle['State']列时,得到的是0.0或1.0。 图片可以在下面找到。你知道吗
此外,应该只写的列,当我在编译器上写print时,它会正确显示,但当它在文件中写入时,它会添加一些小数位。你知道吗
Onehot是numpy数组,问题在于将数组分配给dataframe列
相关问题 更多 >
编程相关推荐