我来了
TypeError: unhashable type: 'slice'
在执行以下代码以在 Python 中对分类数据进行编码时。有人可以帮忙吗?
# Importing the libraries
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
# Importing the dataset
dataset = pd.read_csv('50_Startups.csv')
y=dataset.iloc[:, 4]
X=dataset.iloc[:, 0:4]
# Encoding categorical data
from sklearn.preprocessing import LabelEncoder, OneHotEncoder
labelencoder_X = LabelEncoder()
X[:, 3] = labelencoder_X.fit_transform(X[:, 3])
最佳答案
X
是一个数据帧,不能通过像 X[:, 3]
这样的切片术语来访问。您必须通过 iloc
访问或 X.values
.但是,您构建 X
的方式使其成为副本......所以。我会使用 values
# Importing the libraries
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
# Importing the dataset
# dataset = pd.read_csv('50_Startups.csv')
dataset = pd.DataFrame(np.random.rand(10, 10))
y=dataset.iloc[:, 4]
X=dataset.iloc[:, 0:4]
# Encoding categorical data
from sklearn.preprocessing import LabelEncoder, OneHotEncoder
labelencoder_X = LabelEncoder()
# I changed this line
X.values[:, 3] = labelencoder_X.fit_transform(X.values[:, 3])
关于Python "TypeError: unhashable type: ' slice'"用于编码分类数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43290202/