Python“;类型错误:不可损坏的类型:';切片'&引用;用于对分类数据进行编码
我越来越 TypeError:不可损坏的类型:“切片” 在Python中执行以下编码分类数据的代码时。有人能帮忙吗Python“;类型错误:不可损坏的类型:';切片'&引用;用于对分类数据进行编码,python,pandas,numpy,matplotlib,Python,Pandas,Numpy,Matplotlib,我越来越 TypeError:不可损坏的类型:“切片” 在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=datase
# 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]
等切片术语访问。您必须通过或访问。然而,您构建X
的方式使它成为一个副本。。。所以我会使用值
# 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])
在创建变量X或如上所述编码时使用值
# 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].values
X=dataset.iloc[:, 0:4].values
在创建矩阵
X
和Y
向量时,使用值
X=dataset.iloc[:,4].values
Y=dataset.iloc[:,0:4].values
它肯定会解决您的问题。我收到了相同的错误(TypeError:unhabable type:'slice'),代码如下:
included_cols = [2,4,10]
dataset = dataset[:,included_cols] #Columns 2,4 and 10 are included.
通过将iloc放在数据集之后,用以下代码解决:
included_cols = [2,4,10]
dataset = dataset.iloc[:,included_cols] #Columns 2,4 and 10 are included.
尝试将label encoder中的X[:,3]更改为X.iloc[:,3],如果使用.Values,则在创建矩阵X和Y向量时可以解决问题
y=dataset.iloc[:, 4].values
X=dataset.iloc[:, 0:4].values
当您使用.value时,它创建的矩阵的对象表示将在移除轴的情况下返回。
查看下面的链接了解更多信息
您的x和y值你没有跑步,所以首先你要开始写这一点
import numpy as np
import pandas as pd
import matplotlib as plt
dataframe=pd.read_csv(".\datasets\Position_Salaries.csv")
x=dataframe.iloc[:,1:2].values
y=dataframe.iloc[:,2].values
x1=dataframe.iloc[:,:-1].values
价值点已发布csv文件中有什么内容?在哪一行中出现了TypeError?请在问题中添加相应的堆栈跟踪。告诉用户有关
数据集的信息?我怀疑它的“iloc”应该是字符串-列标签,而不是像切片那样的2d数组。这个错误意味着一个slice
(例如0:4)被用作字典键,或者类似的东西。嗨,我很好奇TypeError:unhable type:'slice'
?