目录
- 前言
- 基本用法
- 示例
前言
pd.factorize 是 Pandas 库中的一个函数,用于对一维数据进行编码,将原始的标签转换为整数值。这个函数特别有用,当你需要将分类数据转换成整数编码以便用于机器学习模型时,比如处理分类特征。
基本用法
下面是 pd.factorize 函数的基本用法和参数:
import pandas as pd
codes, uniques = pd.factorize(values, sort=False, na_sentinel=-1)
参数
- values : 一维的输入数据,可以是列表、NumPy 数组或 Pandas Series。
- sort (bool, 默认值为 False): 是否对唯一值进行排序。若为True,则返回的唯一值是排序后的顺序,编码也会与此相对应。
- na_sentinel (int, 默认值为 -1): 表示缺失值的位置的整数。例如,若输入数据有 NaN 或None,默认情况下会编码为 -1。
返回值
- codes : 一个整数数组,与输入的 values 具有相同长度,表示每个元素对应的类标签的整数编码。
- uniques : 一个包含唯一值的数组,按出现顺序排列(除非 sort=True),表示每个整数编码所对应的原始值。
示例
import pandas as pd# 示例数据
data = ['apple', 'banana', 'apple', 'orange', 'banana', 'apple']# 使用 pd.factorize
codes, uniques = pd.factorize(data)print("Encoded Values:", codes)
print("Unique Categories:", uniques)
输出
Encoded Values: [0 1 0 2 1 0]
Unique Categories: ['apple' 'banana' 'orange']
在这个例子中,‘apple’ 被编码为 0,‘banana’ 被编码为 1,而 ‘orange’ 被编码为 2。pd.factorize 是对一维数据进行快速整数编码的一种简单有效的方法,常在数据预处理中使用。