如何在Python中把分类数据转换成二进制数据

如何在Python中把分类数据转换成二进制数据

分类数据是与分类变量相对应的数据。分类变量是一个采取固定的、有限的可能值集的变量。

例如,性别,血型,一个人是否有乡村住宅,等等。

分类数据的特点:

  • 这主要用于统计学。
  • 在这种类型的数据上,不可能有加法、减法等数字操作。
  • 分类数据的所有值都是分类的。
  • 它通常使用阵列数据结构。

示例 :

如何在Python中把分类数据转换成二进制数据?

分类数据

二进制数据是一种使用两种可能状态或价值的数据,即0和1。二进制数据主要用于各个领域,如在计算机科学中,我们用它来命名比特(二进制数字),在数字电子和数学中,我们用它来命名真实值,以及我们在统计中使用二进制变量。

特点:

  • 0和1)也被称为(真和假)、(成功和失败)、(是和不是)等。
  • 二进制数据是一种离散数据,也用于统计学。

示例 :

如何在Python中把分类数据转换成二进制数据?

将分类数据转换为二进制数据

我们的任务是将分类数据转换为二进制数据,如下图所示,用python

如何在Python中把分类数据转换成二进制数据?

分步实现:

步骤1) 为了将分类数据转换为二进制数据,我们使用Pandas框架中的一些函数。这就是为什么Pandas框架被导入

# import required module
import pandas as pd

Step2)之后,创建一个列表并输入数据,如下所示。

# import required modules
import pandas as pd
 
# assign data
data = [["Jagroop", "Male"], ["Praveen", "Male"],
        ["Harjot", "Female"], ["Pooja", "Female"],
        ["Mohit", "Male"]]

步骤3)之后,使用pd.DataFrame()创建数据框架,这里我们添加额外的一行,即print(data_frame),以显示分类数据的输出,如下所示。

# import required modules
import pandas as pd
 
# assign data
data = [["Jagroop", "Male"], ["Praveen", "Male"],
        ["Harjot", "Female"], ["Pooja", "Female"],
        ["Mohit", "Male"]]
 
# display categorical output
data_frame = pd.DataFrame(data, columns=["Name", "Gender"])
print(data_frame)

输出:

如何在Python中把分类数据转换成二进制数据?

Categorical Data

第四步) 到第三步为止,我们得到了分类数据,现在我们要把它转换成二进制数据。因此,我们必须使用Pandas的内置函数,即get_dummies(),如图所示。

这里我们只对性别列使用get_dummies(),因为这里我们只想把性别列的分类数据转换成二进制数据。

# import required modules
import pandas as pd
 
# assign data
data = [["Jagroop", "Male"], ["Praveen", "Male"],
        ["Harjot", "Female"], ["Pooja", "Female"],
        ["Mohit", "Male"]]
 
# display categorical output
data_frame = pd.DataFrame(data, columns=["Name", "Gender"])
print(data_frame)
 
# converting to binary data
df_one = pd.get_dummies(data_frame["Gender"])
print(df_one)

如何在Python中把分类数据转换成二进制数据?

第4步的输出

这里我们只得到性别栏的二进制代码输出。在这里,我们有两个选择来明智地使用它。

1.将上述输出添加到数据框架中 -> 移除性别栏 -> 移除女性栏(如果我们想要男性=1,女性=0) -> 重命名男性=性别 -> 显示转换输出。
2.将上述输出添加到数据框架中 -> 移除性别栏 -> 移除男性栏(如果我们想要男性=0,女性=1) -> 重命名女性=性别 -> 显示转换的输出。

在下面的程序中,我们使用了第一个选项,并相应地写下代码,如下所示。

# import required modules
import pandas as pd
 
# assign data
data = [["Jagroop", "Male"], ["Praveen", "Male"],
        ["Harjot", "Female"], ["Pooja", "Female"],
        ["Mohit", "Male"]]
 
# display categorical output
data_frame = pd.DataFrame(data, columns=["Name", "Gender"])
# print(data_frame)
 
# converting to binary data
df_one = pd.get_dummies(data_frame["Gender"])
# print(df_one)
 
# display result
df_two = pd.concat((df_one, data_frame), axis=1)
df_two = df_two.drop(["Gender"], axis=1)
df_two = df_two.drop(["Male"], axis=1)
result = df_two.rename(columns={"Female": "Gender"})
print(result)

输出:

如何在Python中把分类数据转换成二进制数据?

以下是基于上述方法的完整方案:

# Pandas is imported in order to use various inbuilt
# Functions available in Pandas framework
import pandas as pd
 
# Data is initialized here
data = [["Jagroop", "Male"], ["Parveen", "Male"],
        ["Harjot", "Female"], ["Pooja", "Female"],
        ["Mohit", "Male"]]
 
# Data frame is created under column name Name and Gender
data_frame = pd.DataFrame(data, columns=["Name", "Gender"])
 
# Data of Gender is converted into Binary Data
df_one = pd.get_dummies(data_frame["Gender"])
 
# Binary Data is Concatenated into Dataframe
df_two = pd.concat((df_one, data_frame), axis=1)
 
# Gendercolumn is dropped
df_two = df_two.drop(["Gender"], axis=1)
 
# We want Male =0 and Female =1 So we drop Male column here
df_two = df_two.drop(["Male"], axis=1)
 
# Rename the Column
result = df_two.rename(columns={"Female": "Gender"})
 
# Print the Result
print(result)

输出:

如何在Python中把分类数据转换成二进制数据?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程