簡體   English   中英

PandasTypeError:無法散列的類型:'sl​​ice'

[英]PandasTypeError: unhashable type: 'slice'

我正在嘗試運行以下代碼,並且標題中顯示了錯誤。 有人知道發生了什么嗎?

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])

X是代碼最后一行中的數據幀,因此除非使用.loc.iloc否則您不能使用基於數組的索引(就像使用numpy array )。 在這種情況下,因為位置( 0 )與列名( 0 )相同,所以可以使用其中任何一個來訪問第一列:

X.loc[:, 0] = labelencoder_X.fit_transform(X.loc[:, 0])

關於索引的熊貓文檔相當不錯

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM