python打卡day5

离散特征的读取

 读取数据

# 读取数据
import pandas as pd
data = pd.read_csv('data.csv')
data.columns#使用data.columns属性查看

 打印所有的离散变量名

for discrete_features in data.columns:

    if data[discrete_features].dtype == 'object':

        print(discrete_features)

for discrete_features in data.columns: 是一个Python的 for 循环语句,常用于 pandas 库中对 DataFrame 对象的列名进行遍历。discrete_features这是一个循环变量,在每次循环时, data.columns 中的一个元素(也就是 DataFrame 的一个列名)会被赋值给这个变量。

而对于data.columns , data 是一个 pandas 的 DataFrame 对象, data.columns 是 DataFrame 的一个属性,它返回一个包含所有列名的可迭代对象(类似于列表)

打印并统计

data['Home Ownership']
data['Home Ownership'].value_counts()

value_counts() 是 Series 和 DataFrame 对象的一个常用方法,主要用于统计每个唯一值在序列或列中出现的次数,并以降序排列返回一个新的 Series 对象

在显示的特征中可以看到各个特征并不具有顺序关系,因此可以用独热编码

对其中一列进行独热编码

data = pd.get_dummies(data, columns=['Home Ownership'])
data.columns

转换为整型int数据

data['Home Ownership_Have Mortgage'] =data ['Home Ownership_Have Mortgage'].astype(int)
data['Home Ownership_Have Mortgage']

离散变量做独热编码的方法

1. 找到离散变量

2. 独热编码映射

3. 转换独热编码到int类型

4. 填补每一列的缺失值

# 现在尝试结合之前的代码一次性对所有离散特征独热编码
# 重新读取数据
data = pd.read_csv("data.csv")
# 找到离散变量
discrete_lists = [] # 新建一个空列表,用于存放离散变量名
for discrete_features in data.columns:
    if data[discrete_features].dtype == 'object':
        discrete_lists.append(discrete_features)

# 离散变量独热编码
data = pd.get_dummies(data, columns=discrete_lists, drop_first=True) 

data.columns

最近两天内容较多尚待进一步理解

来源@浙大疏锦行

你可能感兴趣的:(python学习打卡,python,机器学习,开发语言)