有时,我们需要转换字符串中的值 熊猫数据帧 设置为唯一的整数,这样算法可以执行得更好。所以我们给数据框中的字符串值分配唯一的数值。
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
应用
- 这种技术可以应用于数据科学。假设我们正在处理一个包含性别为“男”和“女”的数据集,那么我们可以分别分配“0”和“1”这样的数字,这样我们的算法就可以处理数据。
- 这种技术也可以用于用新值替换数据集中的某些特定值。
工具书类
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END