使用python在adult数据集中实现Convert categorical variables to numerical values 但不能使用pandas
时间: 2023-06-16 16:05:38 浏览: 55
可以使用Python的字典(dictionary)实现将分类变量转换为数字类型的方法。具体步骤如下:
1. 创建一个空的字典,作为分类变量和数字之间的映射关系容器。
2. 遍历数据集中的所有分类变量,将每个不同的分类变量值与一个数字进行一一映射,并将映射关系存入字典中。
3. 遍历数据集,并将每个分类变量值替换为其对应的数字值。
下面是一个示例代码,假设数据集中有两个分类变量 "gender" 和 "race",需要将它们转换为数字类型:
```
# 生成测试数据
data = [{'gender': 'Male', 'race': 'White'},
{'gender': 'Female', 'race': 'Black'},
{'gender': 'Female', 'race': 'Asian'},
{'gender': 'Male', 'race': 'Hispanic'},
{'gender': 'Male', 'race': 'White'}]
# 创建字典,用于存放分类变量和数字之间的映射关系
mapping = {}
# 遍历数据集中的所有分类变量,将每个不同的分类变量值与一个数字进行一一映射,并将映射关系存入字典中
for row in data:
for key in row.keys():
if key not in mapping:
mapping[key] = {}
if row[key] not in mapping[key]:
mapping[key][row[key]] = len(mapping[key])
# 遍历数据集,并将每个分类变量值替换为其对应的数字值
for i in range(len(data)):
for key in data[i].keys():
data[i][key] = mapping[key][data[i][key]]
print(data)
```
输出结果为:
```
[
{'gender': 0, 'race': 0},
{'gender': 1, 'race': 1},
{'gender': 1, 'race': 2},
{'gender': 0, 'race': 3},
{'gender': 0, 'race': 0}
]
```
其中,"gender" 的取值 "Male" 被映射为 0,"Female" 被映射为 1;"race" 的取值 "White" 被映射为 0,"Black" 被映射为 1,"Asian" 被映射为 2,"Hispanic" 被映射为 3。
相关推荐
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)