pandas - 使用 OneHotEncoder 后在 Pandas 数据框中添加 encoder.categores_ 作为列名
问题描述
我正在使用泰坦尼克号数据集。我已经对幸存的 3 个类别进行了一次热编码,性别,客舱。
encoder = OneHotEncoder(categories='auto',
drop='first',
sparse=False,
handle_unknown='error')
encoder.fit(X_train.fillna('Missing'))
tmp = encoder.transform(X_train.fillna('Missing'))
onepd = pd.DataFrame(tmp, columns= encoder.categories_)
ecoder.categories_ 数组大小与 tmp 不同。有什么办法吗?
解决方案
encoder.categories_ 可能是一个矩阵,尝试索引第一个元素:
尝试这个:
encoder = OneHotEncoder(categories='auto',
drop='first',
sparse=False,
handle_unknown='error')
encoder.fit(X_train.fillna('Missing'))
tmp = encoder.transform(X_train.fillna('Missing'))
onepd = pd.DataFrame(tmp, columns= encoder.categories_[0])
推荐阅读
- c# - Docker 容器问题(启动/停止和 WebAPI 访问)
- css - 在 HTML 中嵌入 SVG
- angular - 错误类型错误:rxjs_operators__WEBPACK_IMPORTED_MODULE_4__.switchMap.call(...).subscribe 不是函数
- javascript - JavaScript:获取属性时检查对象是否为空或未定义
- java - java正则表达式最小字符不起作用
- javascript - 如何连续自动上下滚动div
- python - CNN 返回相同的分类结果(keras)
- solidity - 错误:简单众筹合约中 Solidity 函数的参数数量无效
- php - 未能设置会话 cookie。也许您正在使用 HTTP 而不是 HTTPS 来访问 phpMyAdmin
- c# - Nancy 错误 503 和状态代码是错误消息“”是一个意外的标记。需要空格。第 1 行,位置 50