对比Excel-Python数据分析——数据预处理(2)

1. 缺失值处理

处理原则:1.删除,2.以某种形式的值填充

1.1 缺失值的查看

info()可以查看缺失值
在这里插入图片描述

  • isnull()可以判断哪个值是缺失值,如果是返回True,否返回False

1.2 缺失值的删除

# 只要某一行有缺失值就把这一行删除
df.dropna()
# 如果只想删除空白行
df.dropna(how=all)

1.3 缺失值的填充

#括号内填要填充的值
df.fillna() 
# 按照不同的列填充
df.fillna({'列名1''要填充的值1','列名2''要填充的值2'})

2. 重复值处理

#对所有值进行重复值判断,且默认保留第一行的值
df.drop_duplicates()
#针对某些字段的值进行重复值判断,且默认保留第一行的值
#keep=first保留第一行,last最后一行,false重复值全删除
df.drop_duplicates(subset=['列名1','列名2'],keep='first')

3. 异常值的检测与处理

3.1 异常值的处理

异常值的检测可以用各种数学方法。
处理:筛选后再删除或者用replace()替换

4. 数据类型的转换

在这里插入图片描述

  • 数据类型的查看:df.info()或者df.dtype
  • 数据转换为int类型:df.astype(‘int’)

5. 索引设置

5.1 为无索引表添加索引

在这里插入图片描述
在这里插入图片描述

5.2 重新设置索引

将表中的指定列为新的行索引
在这里插入图片描述

5.3 重命名索引

针对现有的索引进行修改,就是改字段名。
在这里插入图片描述
在这里插入图片描述

5.4 重置索引

重置索引主要用在层次化索引表中,重置索引是将索引列当作一个columns进行返回。
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个Python数据预处理的代码实例。 假设我们有一个包含学生成绩的数据集,文件名为"grades.csv",数据格式如下: ``` Name,Math,English,Science Alice,90,85,92 Bob,80,75,88 Charlie,75,92,82 David,92,87,90 ``` 我们需要进行以下数据预处理操作: 1. 将文件读取为一个Pandas DataFrame。 2. 检查是否有缺失值。 3. 将每个科目的分数转换为百分制。 4. 计算每个学生的平均分。 5. 将每个学生的平均分按照从高到低排序。 6. 将处理后的数据保存为一个新文件。 下面是相应的代码实现: ```python import pandas as pd # 读取数据 df = pd.read_csv("grades.csv") # 检查是否有缺失值 if df.isnull().values.any(): print("Warning: There are missing values in the data.") # 将每个科目的分数转换为百分制 df["Math"] = df["Math"] / 100.0 * 100 df["English"] = df["English"] / 100.0 * 100 df["Science"] = df["Science"] / 100.0 * 100 # 计算每个学生的平均分 df["Average"] = df.mean(axis=1) # 将每个学生的平均分按照从高到低排序 df = df.sort_values(by=["Average"], ascending=False) # 保存处理后的数据为一个新文件 df.to_csv("processed_grades.csv", index=False) ``` 执行完上述代码后,将生成一个新的文件"processed_grades.csv",内容如下: ``` Name,Math,English,Science,Average David,92.0,87.0,90.0,89.66666666666667 Alice,90.0,85.0,92.0,89.0 Charlie,75.0,92.0,82.0,83.0 Bob,80.0,75.0,88.0,81.0 ``` 以上就是一个简单的Python数据预处理代码实例。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值