标签编码器未创建虚拟变量

2024-04-25 13:32:30 发布

您现在位置:Python中文网/ 问答频道 /正文

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd 

dataset=pd.read_csv('Churn_Modelling.csv')
X=dataset.iloc[:, 3:13]
Y=dataset.iloc[:, 13]

from sklearn.preprocessing import LabelEncoder
label_en1=LabelEncoder()
X.values[:, 1]=label_en1.fit_transform(X.values[:, 1])
label_en2=LabelEncoder()
X.values[:, 2]=label_en2.fit_transform(X.values[:, 2])

我尝试创建虚拟变量,但没有发生。我在编码部分使用X.values,因为我的Spyder版本不支持对象数组,所以让X和Y成为数据帧。我添加了.value,因为它不支持切片术语。我哪里会出错? 我之前创建了一个类似的程序来创建虚拟变量,然后就开始工作了。我不明白为什么这件事没有发生。你知道吗


Tags: csvimportnumpyasnptransformdatasetlabel
1条回答
网友
1楼 · 发布于 2024-04-25 13:32:30

编辑:

你能把你的一片递给我吗?像这样:

X.iloc[:, 1] = label_en1.fit_transform(X.iloc[:, 1])

实际上,您需要将数据帧精简为一个数组


与其访问X.values,不如直接访问功能/列名:

X['col_name'] = label_en1.fit_transform(X['col_name'])

相关问题 更多 >