PandasTypeError:无法散列的类型:'sl​​ice'

时间:2018-12-23 12:18:04

标签: python pandas machine-learning artificial-intelligence data-science

我正在尝试运行以下代码,它在标题中显示错误。有人知道发生了什么事吗?

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

dataset = pd.read_csv('Data.csv')

X = dataset.iloc[:, :-1].values
Y = dataset.iloc[:, 3].values

from sklearn.preprocessing import Imputer
imputer = Imputer(missing_values = 'NaN', strategy = 'mean', axis = 0)
imputer = imputer.fit(X[:, 1:3])
X[:, 1:3] = imputer.transform(X[:, 1:3])

X = pd.DataFrame(X)
Y = pd.DataFrame(Y)

from sklearn.preprocessing import LabelEncoder
labelencoder_X = LabelEncoder()
X[:, 0] = labelencoder_X.fit_transform(X[:, 0])

1 个答案:

答案 0 :(得分:2)

X是代码最后一行中的数据帧,因此除非您使用array或{{,否则您不能使用基于数组的索引(就像使用numpy .loc一样)) 1}}。在这种情况下,因为位置(.iloc)与列名(0)相同,所以您可以使用其中之一来访问第一列:

0

大熊猫documentation on indexing is quite good