Numpy如何将二元分类列转换为Numpy数组

Numpy如何将二元分类列转换为Numpy数组

在本文中,我们将介绍如何将二元分类列(即只有两个值的列,如‘是’和‘否’或‘真’和‘假’)转换为Numpy数组。这种情况经常出现在机器学习中。

阅读更多:Numpy 教程

示例数据

我们先创建示例数据。下面是一个包含“是”和“否”的二元分类列的数据框。

import pandas as pd

data = {
    'col1': ['是', '否', '是', '是', '否', '是', '否', '否', '否', '是'],
    'col2': [5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
}

df = pd.DataFrame(data)

使用np.where()进行转换

我们可以使用Numpy中的np.where()函数,将分类列转换为1和0的数组。其中,np.where()接受三个参数:条件(即分类列),条件成立时的值(1),否则的值(0)。

import numpy as np

arr = np.where(df['col1'] == '是', 1, 0)
print(arr)

输出:

[1 0 1 1 0 1 0 0 0 1]

我们可以将这个数组作为新的列添加到数据框中。

df['new_col'] = arr
print(df)

输出:

  col1  col2  new_col
0   是    5       1
1   否    6       0
2   是    7       1
3   是    8       1
4   否    9       0
5   是    10      1
6   否    11      0
7   否    12      0
8   否    13      0
9   是    14      1

使用np.select()进行转换

除了np.where(),我们还可以使用np.select()函数,将多个条件映射到多个值。但是,对于二元分类列,np.where()更加方便。

总结

在本文中,我们介绍了如何将二元分类列转换为Numpy数组。我们可以使用np.where()函数,将分类列转换为1和0的数组,并将其添加到数据框中,以便后续机器学习任务的使用。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程