如何为未知数据集进行一次热编码,该数据集可以迭代和检查数据集的 dytype 并通过检查列的唯一值的数量进行一次热编码,以及如何跟踪新的热编码数据与原始数据集?
适用于任何类型数据集的一种热编码
数据挖掘
数据
python-3.x
一热编码
2021-09-18 02:52:26
1个回答
我建议使用类别编码器中的一个热编码包,并选择要使用pandas select dtypes的列。
import numpy as np
import pandas as pd
from category_encoders.one_hot import OneHotEncoder
pd.options.display.float_format = '{:.2f}'.format # to make legible
# make some data
df = pd.DataFrame({'a': ['aa','bb','cc']*2,
'b': [True, False] * 3,
'c': [1.0, 2.0] * 3})
cols_encoding = df.select_dtypes(include='object').columns
ohe = OneHotEncoder(cols=cols_encoding)
encoded = ohe.fit_transform(df)
请注意,您可以更改处理看不见的数据的方式
处理未知:str
选项是'error'、'return_nan'、'value'和'indicator'。默认值为“值”。警告:如果使用指示符,如果变换矩阵有未知类别,将添加一个额外的列。在某些情况下,这可能会导致尺寸发生意外变化。
其它你可能感兴趣的问题