python数据清洗例子
作者:野牛程序员:2023-07-21 11:19:57python阅读 2781
当进行数据清洗时,通常会面对许多不完整、不准确或者不一致的数据。以下是一个简单的 Python 数据清洗例子,假设我们有一个包含学生信息的数据集,其中包含学生的姓名、年龄、性别和分数。
假设我们的数据集如下:
data = [
{"姓名": "张三", "年龄": 20, "性别": "男", "分数": 85},
{"姓名": "李四", "年龄": 19, "性别": "男", "分数": 90},
{"姓名": "王五", "年龄": None, "性别": "男", "分数": 78},
{"姓名": "小红", "年龄": 22, "性别": None, "分数": 92},
{"姓名": "小明", "年龄": 21, "性别": "男", "分数": "八十五"}, # 注意:分数应为数值类型,但这里是字符串
{"姓名": "小芳", "年龄": 18, "性别": "女", "分数": 88},
{"姓名": "小刚", "年龄": 23, "性别": "男", "分数": 95},
{"姓名": "", "年龄": 20, "性别": "女", "分数": 79},
{"姓名": "Tom", "年龄": 22, "性别": "男", "分数": 85},
]下面是数据清洗的例子,我们将尝试解决以下问题:
删除包含缺失值的行;
将分数的数据类型转换为整数;
去除姓名列中的空白格;
填充缺失的性别信息。
# 导入 pandas 库
import pandas as pd
# 创建 DataFrame
df = pd.DataFrame(data)
# 删除包含缺失值的行
df.dropna(inplace=True)
# 将分数的数据类型转换为整数
df["分数"] = df["分数"].astype(int)
# 去除姓名列中的空白格
df["姓名"] = df["姓名"].str.strip()
# 填充缺失的性别信息
df["性别"].fillna("未知", inplace=True)
# 打印清洗后的数据
print(df)输出结果:
姓名 年龄 性别 分数 0 张三 20 男 85 1 李四 19 男 90 5 小芳 18 女 88 6 小刚 23 男 95 7 20 女 79 8 Tom 22 男 85
经过数据清洗后,我们得到一个去除了缺失值的 DataFrame,并将分数列转换为了整数类型。同时,我们去除了姓名列的空白格,并对性别列进行了填充,用 "未知" 来代替缺失值。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

