在Python中用数字替换字符串进行数据分析

有时,我们需要转换字符串中的值 熊猫数据帧 设置为唯一的整数,这样算法可以执行得更好。所以我们给数据框中的字符串值分配唯一的数值。

null

注意:在执行之前,创建一个示例。包含一些姓名和性别的csv文件

假设我们有一个包含姓名和性别列的表。在“性别”列中,有两个类别:男性和女性,假设我们要将1分配给男性,将2分配给女性。

例如:

Input : 
---------------------
    |  Name  |  Gender
---------------------
 0    Ram        Male
 1    Seeta      Female
 2    Kartik     Male
 3    Niti       Female
 4    Naitik     Male 

Output :
    |  Name  |  Gender
---------------------
 0    Ram        1
 1    Seeta      2
 2    Kartik     1
 3    Niti       2
 4    Naitik     1 

方法1:

To create a dictionary containing two 
elements with following key-value pair:
Key       Value
male      1
female    2

然后使用for循环遍历DataFrame的Gender列,并在找到键的地方替换这些值。

# import pandas library
import pandas as pd
# creating file handler for
# our example.csv file in
# read mode
file_handler = open ( "example.csv" , "r" )
# creating a Pandas DataFrame
# using read_csv function
# that reads from a csv file.
data = pd.read_csv(file_handler, sep = "," )
# closing the file handler
file_handler.close()
# creating a dict file
gender = { 'male' : 1 , 'female' : 2 }
# traversing through dataframe
# Gender column and writing
# values where key matches
data.Gender = [gender[item] for item in data.Gender]
print (data)


输出:

    |  Name  |  Gender
---------------------
 0    Ram        1
 1    Seeta      2
 2    Kartik     1
 3    Niti       2
 4    Naitik     1 

方法2: 方法2也类似,但不需要字典文件,代码行更少。在这种情况下,我们在内部遍历DataFrame的性别列,并在条件匹配时更改值。

# import pandas library
import pandas as pd
# creating file handler for
# our example.csv file in
# read mode
file_handler = open ( "example.csv" , "r" )
# creating a Pandas DataFrame
# using read_csv function that
# reads from a csv file.
data = pd.read_csv(file_handler, sep = "," )
# closing the file handler
file_handler.close()
# traversing through Gender
# column of dataFrame and
# writing values where
# condition matches.
data.Gender[data.Gender = = 'male' ] = 1
data.Gender[data.Gender = = 'female' ] = 2
print (data)


输出:

    |  Name  |  Gender
---------------------
 0    Ram        1
 1    Seeta      2
 2    Kartik     1
 3    Niti       2
 4    Naitik     1 

应用

  1. 这种技术可以应用于数据科学。假设我们正在处理一个包含性别为“男”和“女”的数据集,那么我们可以分别分配“0”和“1”这样的数字,这样我们的算法就可以处理数据。
  2. 这种技术也可以用于用新值替换数据集中的某些特定值。

工具书类

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享