Pandas sklearn one-hot 编码数据帧还是 numpy?

2024-05-01

如何将 pandas 数据帧转换为 sklearn one-hot-encoded(数据帧/numpy 数组),其中某些列不需要编码?

mydf = pd.DataFrame({'Target':[0,1,0,0,1, 1,1],
                   'GroupFoo':[1,1,2,2,3,1,2],
                    'GroupBar':[2,1,1,0,3,1,2],
                    'GroupBar2':[2,1,1,0,3,1,2],
                    'SomeOtherShouldBeUnaffected':[2,1,1,0,3,1,2]})
columnsToEncode = ['GroupFoo', 'GroupBar']

是一个已经标签编码的数据帧,我只想对标记的列进行编码columnsToEncode?

我的问题是我不确定是否pd.Dataframe or the numpy数组表示更好,以及如何将编码部分与另一部分重新合并。

到目前为止我的尝试:

myEncoder = OneHotEncoder(sparse=False, handle_unknown='ignore')
myEncoder.fit(X_train)
df = pd.concat([
         df[~columnsToEncode], # select all other / numeric
        # select category to one-hot encode
         pd.Dataframe(encoder.transform(X_train[columnsToEncode]))#.toarray() # not sure what this is for
        ], axis=1).reindex_axis(X_train.columns, axis=1)

注意:我知道熊猫:获取假人 https://stackoverflow.com/questions/36285155/pandas-get-dummies / http://pandas.pydata.org/pandas-docs/stable/ generated/pandas.get_dummies.html http://pandas.pydata.org/pandas-docs/stable/generated/pandas.get_dummies.html但这在训练/测试分割中效果不佳,我需要每次折叠这样的编码。


该库提供了几个分类编码器,使 sklearn / numpy 能够与 pandas 很好地配合https://github.com/wdm0006/categorical_encoding https://github.com/wdm0006/categorical_encoding

但是,他们还不支持“处理未知类别”

现在我会用

myEncoder = OneHotEncoder(sparse=False, handle_unknown='ignore')
myEncoder.fit(df[columnsToEncode])

pd.concat([df.drop(columnsToEncode, 1),
          pd.DataFrame(myEncoder.transform(df[columnsToEncode]))], axis=1).reindex()

因为这支持未知的数据集。现在,我会坚持使用 half-pandas half-numpy,因为 pandas 标签很好。对于数字列。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pandas sklearn one-hot 编码数据帧还是 numpy? 的相关文章

随机推荐

  • 禅德导航。带有自定义选项的子菜单

    在我的布局脚本中 我也需要生成 渲染我的菜单 如果菜单项有一个子菜单 我会更改我的菜单项 以便它会呈现 li 原因是我会有一张图片 li li 网页元素存在 ul li a href da front news Nyt a li li cl
  • attributeError:模块“pyproj”没有属性“CRS”

    地图数据库扫描 import geopandas as gpd import contextily as ctx import pyproj from mpl toolkits axes grid1 inset locator import
  • Python:从源代码安装模块

    当然你们都知道答案 而且很容易 但我是 python 新手 我在网上找到了一段代码 读取雅虎财经的股价 usr bin env python Copyright c 2007 2008 Corey Goldberg email protec
  • 无需使用abs函数或if语句即可获取绝对值

    我在想如何在不使用的情况下获得整数的绝对值if声明也不abs 起初我使用的是左移位 lt lt 试图将负号移出范围 然后将位右移回原来的位置 但不幸的是它对我不起作用 请让我知道为什么它不起作用以及其他替代方法 From 位摆弄黑客 htt
  • NSMutableAttributedString 的自动换行

    我有 NSMutableAttributedString 并且字符串很长 我想在 UIlabel 上显示它时进行自动换行 如果是 NSString 我会继续做这样的事情 动态 UILabel 截断文本 https stackoverflow
  • C++:如何通过时间和本地时间获取实际时间?

    我正在寻找一种在 C 中以 HH MM SS 方式节省时间的方法 我在这里看到它们有很多解决方案 经过一番研究后我选择了time and localtime 然而 似乎localtime函数有点棘手 因为它says http rabbit
  • 如何编写javadoc链接?

    如何将链接写入 javadoc 目前 我有类似的东西 link java lang Math sqrt double Math sqrt 生成文本Math sqrt应该链接到java lang Math sqrt double 然而 API
  • Kafka中如何使用事务以及如何使用abortTransaction?

    我是 kafka 新手 我使用 Kafka Producer Java api 面对Kafka的这个问题 Kafka Invalid transition attempted from state COMMITTING TRANSACTIO
  • 读取pkcs12证书信息

    我在读取证书信息时遇到问题 我想以编程方式在 Android 中使用 java 和 bouncycastle 库来阅读完整信息 现在 我只是在控制台中使用 keytool 命令 gt keytool list keystore 1 p12
  • R: Knit 给出 SQL-chunk 错误

    我想编织 R markdown 的输出 其中包括几个 SQL 块 但是 如果我开始编织 就会收到错误消息 Line 65 Error in eval expr envir enclos object pp dataset not found
  • 使用 OOP 开发 WordPress 插件

    我是插件开发的新手 所以 凡是我说得不对的地方 请大家指正 我有一个网站需要一个具有以下需求的播放器插件 管理员可控的玩家注册表单 其中包含一些详细信息 显示所有注册玩家的列表页面 已注册的玩家可以删除并相互比较 在前端的 WordPres
  • 当 Bool 变量变为 True 时更改标签

    我不太确定如何解释这一点 我将把代码放在伪代码中以便于阅读 我几乎想要一个标签在类的 bool 变量更改时更改其文本 我不确定我需要使用什么 因为我使用的是 WPF 并且该类不能只更改我不更改的标签你不觉得吗 我需要举办某种活动吗 或者 W
  • android 2.2 谷歌地图错误

    我使用 google map api 开发了一个在 android 2 1 上运行良好的项目 但是当我在 android 2 2 上运行相同的项目时 它遇到了一些错误 显示的错误是 Android运行时致命异常 main AndroidRu
  • 无法绑定到“*ngIf”,因为它不是 angular2 中“td”的已知属性

    在我的 Angular 2 应用程序中 在 ts 文件中 我在下面点击了偶数 ViewPages Char string void this selectedPage Char 在html中 我尝试绑定ngif中的选择页面 td name
  • 为什么通过 gmail 的 SMTP 在本地工作但在我的生产服务器上不起作用?

    我正在运行托管在 AWS 爱尔兰 上的 Nodejs 服务器 并使用 emailjs 发送电子邮件 我使用的电子邮件帐户是 gmail 帐户 我可以从本地计算机发送电子邮件 没有任何问题 但电子邮件无法从生产服务器发送 出站防火墙设置为允许
  • Android 如何检查文件是否存在并创建一个?

    我有以下问题 我想将一个名为 data xml 的文件放入 sdcard appname 文件夹中 并使用它来读取和写入应用程序数据 因此 当我的主要活动创建时 我需要检查该文件是否存在 public class appname exten
  • 如何在 Instagram 等应用中使用“@”提及用户

    我正在创建一个具有照片共享功能的应用程序 并且我正在尝试添加提及 或标记 用户的功能 Twitter 最初开始使用 和用户名来标记用户 但现在从 Facebook 到 Instagram 都在使用它 这是iOS端实现的还是后端实现的 我目前
  • 将小数点数字转换为整数 - PowerShell

    我正在编写一个 PowerShell 脚本 它将带小数点的数字转换为整数 val 1024 24 如何将该值转换为整数 我希望它是1024 使用向下取整 四舍五入到较低的整数 Math Floor val 编辑 如果只是丢弃小数部分不是您想
  • 如何使用 Flutter 修复 VSCode 上的自动修复问题?

    我更新了迂腐的软件包并最终出现了 1000 多个问题 其中许多是首选单引号或不必要的等等 只需单击一下即可修复它们 我认为 eslint 或其他一些工具可以在 VSCode 中做到这一点 有没有办法在 Flutter 项目中做到这一点 我找
  • Pandas sklearn one-hot 编码数据帧还是 numpy?

    如何将 pandas 数据帧转换为 sklearn one hot encoded 数据帧 numpy 数组 其中某些列不需要编码 mydf pd DataFrame Target 0 1 0 0 1 1 1 GroupFoo 1 1 2