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作为数据帧。我添加了.values,因为它的数据帧不支持切片术语。我可能在哪里出错了?我之前创建了一个类似的程序来创建虚拟变量,然后它就起作用了。我不明白为什么这件事没有发生。
发布于 2018-03-09 02:10:13
编辑:
你能传一片你的切片吗?如下所示:
X.iloc[:, 1] = label_en1.fit_transform(X.iloc[:, 1])
实际上,您可以将数据帧缩减为看起来像是数组的数据帧
尝试直接访问功能/列名,而不是访问X.values:
X['col_name'] = label_en1.fit_transform(X['col_name'])
https://stackoverflow.com/questions/49179549
复制相似问题