python - Python Pandas OneHotEncoder 类别
问题描述
我正在阅读有关 Python 中的 One Hot Encoding 的内容,其中有一行我无法解释它的含义。代码如下:
ohe=preprocessing.OneHotEncoder(dtype=np.int,sparse=True,handle_unknown="ignore")
data=ohe.fit_transform(df[["country"]])
问题是当我打印这样的类别值时:
print (ohe.categories_)
它打印[array(['EEUU', 'France', 'Portugal', 'Italy'], dtype=object)]
但是当我这样做时:
print (ohe.categories_[0])
['EEUU', 'France', 'Portugal', 'Italy']
我无法找到 [0] 的作用,它似乎从数组转换为列表,但为什么不使用类似 tolist() 函数的东西呢?
我在网上搜索过,但我找不到关于这个表达式的解释,有什么帮助吗?
谢谢
解决方案
[array(['EEUU', 'France', 'Portugal', 'Italy'], dtype=object)]
是一个包含一个对象的列表。该对象是一个 numpy 数组。当您这样做时ohe.categories_[0]
,您将访问此列表的第一项——它恰好是列表中的唯一一项。
ohe.categories_
返回一个列表,因为它numpy
为输入中的每一列返回一个不同的数组。由于df[["country"]]
只有一列,它返回一个只有一个对象的列表。
例如,如果你这样做df[["country", "second_column"]]
了,你会得到一个包含两个数组的列表,并说明每个数组的类别。
推荐阅读
- javascript - 当我尝试为其设置文件时,反应组件会更改其他组件状态。我该如何解决?
- php - 在 php SoapClient 中为每个请求添加自定义 http 标头
- hystrix - Hystrix trubine 仪表板线程池活动与最大活动
- javascript - 如何使用 onkeydown 函数将摄氏度值更新为华氏温度转换器
- vue.js - Vue路由器:是否可以仅从后退按钮检测路径更改?
- javascript - 如何为元素上的鼠标悬停触发不同元素上的鼠标悬停?
- ios - 向 iOS 设备发送 POST 请求
- android-emulator - 为什么 Hexm 一直在 Android Studio 中安装
- javascript - Angular - 打开模式会导致“内容安全策略(script-src 'self')错误”
- powerbi - IBM DB2 ODBC 驱动程序 - 用于 Power BI 连接的 DB2COPY1 或 IBMDBCL1?