Python "TypeError: unhashable type: ' slice'"用于编码分类数据

标签 python pandas numpy matplotlib

我来了

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/

相关文章:

python - 替换除数字之间或后跟特定文本之外的所有点

python - 在 Pandas 数据框中将单元格拆分为多行

python - 不准确的离群值与箱线图中的离群值不匹配

python - Numpy:使用字典作为映射有效地替换二维数组中的值

python - 对于不同的 CSV 文件获得相同的结果

python - 构建 conda 包 : The package must be rebuilt with conda-build > 2. 0

python - Numpy 获取二维数组中重复元素的确切参数

python - 将国家映射到经纬度信息

python - 被 pandas dtype 转换为 np.float16 值 2053 变成 2052 感到困惑

python - 创建一个 Pandas 数据透视表来计算项目一起出现在列表中的次数