当前位置: 首页 > 知识库问答 >
问题:

尝试将LabelEncoder和OneHotEncoder用于具有多列的数据集

施飞鸿
2023-03-14

我试图转换多个列,其中有一组分类值中的数据;但我在使用OneHotEncoder时遇到了一个错误

我的数据框

1) 分离X_普查和Y_普查中的列(X_普查包含分类值):

X_census  = df[['workclass',
               'education',
               'marital-status',
               'occupation',
               'relationship',
               'race',
               'sex',
               'native-country']]

Y_census = df['income']

2)使用LabelEncoder处理X_census的分类值:

从sklearn。导入标签编码器的预处理

le = LabelEncoder()
X_1 = X_census.apply(le.fit_transform)
X_2 = X_1.to_numpy()

3)现在使用OneHotEncoder到我的X_2转换分类到数值:

from sklearn.preprocessing import OneHotEncoder
from sklearn.compose import ColumnTransformer

oh = OneHotEncoder()
onehotencoder_census = ColumnTransformer(transformers=[('OneHot', oh, X_2[:])],remainder='passthrough')
X_census = onehotencoder_census.fit_transform(X_census) # Error appears here!

错误

共有1个答案

赫连彬炳
2023-03-14

df=pd.DataFrame({"marital_status":['S','M','D','S','M','D'],"性别":["男","女","男","女","男","女","男","女","男","女","男","女","男"],"学历":["毕业生","职位"-grad','grad','post-grad','grad','post-grad','grad','post-grad','grad'],"收入":[125,135,120,110,90,150,180,130,110]})

警察局。获取虚拟对象(df)

 类似资料:
  • 我有一个派斯帕克数据帧 我想将其转换为与 pyspark.ml 一起使用。我可以使用字符串索引器将名称列转换为数字类别: 如何用StringIndexer(例如< code>name和< code>food,每个列都有自己的< code>StringIndexer)转换几个列,然后用VectorAssembler生成一个特征向量?还是必须为每一列创建一个< code>StringIndexer?

  • 我试图存储多个数据到我的数据透视表。我有分类用户表category_id和user_id。这是我的店铺功能。 在blade中,我有name=“categoryId[]”和name=“userId[]”。但它只存储一个类别id。我做错了什么?

  • 问题内容: 您可以使用两个不同的列中的值作为参数来制作python pandas函数吗? 我有一个函数,如果两列的值在相同范围内,则返回1。否则返回0: 我希望第一个参数成为数据框中的一列,以使函数将采用该列中每一行的值。例如是,第二个参数是df [‘ResponseCol’]`。我希望结果是数据框中的新列。我遇到了几个 回答了类似问题的线程,但看起来这些参数是变量,而不是数据帧行中的值。 我尝试

  • 我从这个URL刮取了这个表: "https://www.patriotsoftware.com/blog/accounting/average-cost-living-by-state/" 看起来像这样: 然后我编写了这个函数来帮助我将字符串转换成整数: 当我只将函数应用于一列时,它就会工作。我在这里找到了关于在多个列上使用的答案:如何将函数应用于多个列 但我下面的代码不起作用,也不会产生错误:

  • 我正在尝试设置Spring Boot以使用多个数据源。我已按照设置两个数据源的说明并将其中一个设置为主要数据源。 我有一个oracle的第二个配置类,它缺少@主注释,但非常相似。我还将其添加到我的主类中以排除数据源自动配置。 我面临的问题是,此设置不允许我的集成测试在H2数据库上运行以打开连接。。。 我正在使用一个单独的应用程序。src/integrationtest/resources下的属性文

  • 谈到R编码,我目前有点墨守成规。我一直在尝试使用mutate、seq和rep函数来生成一个新列,该列迭代多个列值和不同的条件,但结果并不正确。下面是我的一些数据片段: 我希望按类型和特征 ID 对 lipidName 进行分组,然后查看类型特征 ID2,而不是不正确的数据表。如果它们具有相同的类型和特征 ID,则将它们计为脂质名称的相同脂质。如果它们具有相同的类型和特征ID2,则将它们计为脂质名称