打卡第五天

请重复以下话术:

现在在py文件中 一次性处理data数据中所有的连续变量和离散变量

  1. 读取data数据
import pandas as pd
data = pd.read_csv(r'C:\Users\许兰\Desktop\打卡文件\python60-days-challenge-master\data.csv')
  1. 对离散变量进行one-hot编码

过程:打印列名  for循环寻找离散变量  如果他是字符串类型  打印离散变量 

          选择一个离散特征  统计这一列中每个类别的分布  不具备顺序关系进行独热编码  

data.columns
for discrete_feature in data.columns:
    if data[discrete_feature] == 'object':
    print(discrete_feature)
data['Home Ownership']
data['Home Ownership'].value_counts()
data = pd.get_dummies (data,columns = ['Home Ownership'])
print (data columns)
  1. 对独热编码后的变量转化为int类型

       现在是对一个变量进行独热编码后的转换   

data['Home Ownership_rent'] = data['Home Ownership_rent'].astype(int)

关于.dtype()和.astype()的区分

.dtype()方法用于获取一个数组的数据类型,返回的是一个描述数据类型的对象,比如int32float64等。

.astype()方法用于将一个数组转换为指定的数据类型,返回的是一个新的数组。如果转换不合法,会抛出异常。

  1.一次性对所有离散特征进行独热编码

过程  重新获取数据  寻找离散变量(新定义一个列表用于存放离散变量名称、for循环、.append()添加到列表)独热编码  

data = pd.read_csv(r'C:\Users\许兰\Desktop\打卡文件\python60-days-challenge-master\data.csv')
discrete_lists = []
for discrete_feature in data.columns:
    if data['discrete_features'].dtype() == 'object':
    data[discrete_lists].append(discrete_features)
data = pd.get_dummies(data, columns=discrete_features, drop_fist=True)

 注意:

在编写函数时,当设置函数参数的默认值或者传递关键字参数时,建议不要在等号前后加空格。例如,在定义函数时,应该写成def func(param=default),而不是def func(param = default);在调用函数时,应该写成func(param=value),而不是func(param = value)。这样的风格虽然不是必须遵循的规则,但可以让代码看起来更加整洁和一致。

    1、寻找独热编码后的新的变量名称并转变字符类型

过程:重新读取数据,新建一个空列表用来储存独热编码后的变量名称,for 循环对比独热编码前后的变量名,没有的加入空列表,并且转换字符类型。

data2 = pd.read_csv(r'C:\Users\许兰\Desktop\打卡文件\python60-days-challenge-master\data.csv')
final_list = []
for i in data.columns:
    if data[i] not in data2.columns:
    final_list[].append(i)
print(final_list[])
for i in final_list:
    data[i] = data[i].astype(int)
print(data.(head)
  1. 对所有缺失值进行填充

过程:查看表格的数据类型  统计缺失值  for循环遍历表格寻找缺失值  均值填补  检查缺失值

data.dtypes
data.columns.isnull().sum()
for i in data.columns:
    if data[i].isnull().sum() > 0:
    mean_vaule = data[i].mean()
    data[i].fillna(mean_value, inplace=True)
data[i].isnull().sum()

注意:.dtype().dtypes()是两个不同的函数或方法。

  • dtype()是一个函数,用于查看Pandas Series或DataFrame中的数据类型。.dtype来查看DataFrame中某一列的数据类型。

  • .dtypes()是一个DataFrame对象的方法,用于查看DataFrame中所有列的数据类型。例如,可以使用df.dtypes来得到DataFrame中所有列的数据类型。

@浙大疏锦行

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值