类型错误:不可哈希类型:pd.get_dummies 的“系列”

问题描述 投票:0回答:1

我正在尝试对我拥有的数据框中的一些标称数据使用

pd.get_dummies
(来自 Kaggle 的 House 回归)。我将所有名义类别分成列名称列表,
'obj_nominal'

当我打电话时

pd.get_dummies(df, columns=obj_nominal)

我收到错误:

TypeError: unhashable type: 'Series'.

到目前为止我所做的唯一预处理是删除数据集中的空值。我也尝试过使用 Sklearn

OneHotEncoder
,它会产生相同的错误。

我还尝试使用以下方法制作单独的数据框:

x = df.iloc[:, obj_nominal]

并在数据帧上传递 get_dummies :

pd.get_dummies(data = x)

但还是没有运气...

数据可在https://www.kaggle.com/c/house-prices-advanced-regression-techniques/data

下载
pandas machine-learning scikit-learn typeerror one-hot-encoding
1个回答
0
投票

看来以下解决了问题:

首先将每列的数据类型更改为字符串,我解决了这个问题。

x = df.loc[:, obj_nominal]
x = x.astype(str)

但是,我完全不确定这完成了什么,因为在转换为字符串之前,这些是我相关列的数据类型:

df.loc[:, obj_nominal].dtypes

Street           object
Alley            object
LotConfig        object
LandContour      object
Neighborhood     object
Condition1       object
Condition2       object
BldgType         object
HouseStyle       object
RoofStyle        object
RoofMatl         object
Exterior1st      object
Exterior2nd      object
GarageType       object
MasVnrType       object
Foundation       object
Heating          object
CentralAir       object
Electrical       object
SaleType         object
SaleCondition    object
© www.soinside.com 2019 - 2024. All rights reserved.