pandas数据离散化
数据离散化,是将连续的数据,通过分割,形成离散化的数据。举个例子,比如有一列数据存储人的身高:165,174,160,180,159,163,192,184
,那么通过离散化可以变为:150~165, 165~180,180~195
。还有另外一种离散化的数据,就是通过one-hot
编码,下面会详细讲到。
切割数据离散化:
在pandas
中使用pd.qcut
或者是pd.cut
方法实现数据切割。
pd.qcut(data, q)
的函数意义为:
-
data
:需要被切割的数据。 -
q
:需要切割多少个组。
示例代码如下:
输出结果如下:
也可以自己指定切割的区间和数量。这时候可以使用pd.cut
实现。
pd.cut(data, bins)
参数意义如下:
-
data
:需要被切割的数据。 -
bins
:切割的区间列表。
示例代码如下:
输出结果如下:
One-Hot编码离散化:
One-Hot
编码是将分类数据的所有项,全部都变成列,然后如果某一行中出现这一列,那么就标记为1,否则就标记为0。比如下图将左边的Category
变为One-Hot
编码后,会把Category
中所有唯一的值都添加为新的列。
One-Hot
编码在机器学习中经常用到,用于预测分类等。在pandas
中,可以通过pd.get_dummies(data, prefix=None)
来实现,参数如下:
-
data
:需要被执行One-Hot
编码的数据。 -
prefix
:分组名称前缀。
示例代码如下:
输出结果如下: