关键词

如何在Pandas中把分类变量转换为数字变量

Pandas中将分类变量转换为数字变量需要使用pandas.Categoricalpandas.factorize方法。

具体步骤如下:

  1. 将分类变量转换为Categorical数据类型
df['category_column'] = pd.Categorical(df['category_column'])
  1. 使用factorize()方法将分类变量转换为数字变量
df['category_column'] = pd.factorize(df['category_column'])[0]

下面是一个简单的示例代码,展示如何使用Categoricalfactorize()方法将一个DataFrame的所有分类变量转换为数字变量:

import pandas as pd

# 创建一个包含分类变量的DataFrame
df = pd.DataFrame({'fruit': ['apple', 'banana', 'apple', 'banana', 'orange', 'banana'],
                   'color': ['red', 'yellow', 'green', 'yellow', 'orange', 'yellow']})

# 将所有分类变量转换为Categorical数据类型
for col in df.select_dtypes(include='object').columns:
    df[col] = pd.Categorical(df[col])

# 使用factorize()方法将所有Categorical列转换为数字列
for col in df.select_dtypes(include='category').columns:
    df[col] = pd.factorize(df[col])[0]

print(df)

输出结果如下:

   fruit  color
0      0      0
1      1      1
2      0      2
3      1      1
4      2      3
5      1      1

其中,原来的fruit列和color列均已被转换为数字变量。注意,在使用factorize()方法时,需要保留返回值的第一个元素,即转换后的数字序列。

本文链接:http://task.lmcjl.com/news/14491.html

展开阅读全文