Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python“;类型错误:不可损坏的类型:';切片'&引用;用于对分类数据进行编码_Python_Pandas_Numpy_Matplotlib - Fatal编程技术网

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

我越来越

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=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'