Python “TypeError: unhashable type: 'slice'” for encoding categorical data

后端 未结 7 902
长情又很酷
长情又很酷 2020-12-04 16:03

I am getting

TypeError: unhashable type: \'slice\'

when executing the below code for encoding categorical data in Python. Can a

7条回答
  •  Happy的楠姐
    2020-12-04 16:48

    X is a dataframe and can't be accessed via slice terminology like X[:, 3]. You must access via iloc or X.values. However, the way you constructed X made it a copy... so. I'd use 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])
    

提交回复
热议问题