温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么用python清洗数据

发布时间:2026-09-04 17:46:50 来源:亿速云 阅读:94 作者:小樊 栏目:编程语言

用 Python 清洗数据通常分为明确问题 → 读取数据 → 处理缺失值/异常值/重复值 → 格式规范化 → 输出结果几个步骤。下面我用一个通用流程 + 示例代码给你讲清楚。


一、常用工具库

import pandas as pd
import numpy as np

二、读取数据

df = pd.read_csv("data.csv")
# df = pd.read_excel("data.xlsx")

三、常见清洗操作

1️⃣ 查看数据基本情况

df.info()
df.describe()
df.head()

2️⃣ 处理缺失值

查看缺失值

df.isnull().sum()

删除缺失值

df.dropna(inplace=True)

填充缺失值

# 数值型用均值
df["age"].fillna(df["age"].mean(), inplace=True)

# 字符型用众数
df["city"].fillna(df["city"].mode()[0], inplace=True)

3️⃣ 删除重复数据

df.drop_duplicates(inplace=True)

4️⃣ 处理异常值(示例:年龄)

# 删除年龄异常
df = df[(df["age"] >= 0) & (df["age"] <= 120)]

或用箱线法:

q1 = df["age"].quantile(0.25)
q3 = df["age"].quantile(0.75)
iqr = q3 - q1
df = df[(df["age"] >= q1 - 1.5*iqr) & (df["age"] <= q3 + 1.5*iqr)]

5️⃣ 字符串清洗

# 去空格
df["name"] = df["name"].str.strip()

# 转小写
df["email"] = df["email"].str.lower()

# 替换
df["gender"] = df["gender"].replace({"男":"M","女":"F"})

6️⃣ 日期格式统一

df["date"] = pd.to_datetime(df["date"], errors="coerce")

7️⃣ 类型转换

df["price"] = df["price"].astype(float)

四、保存清洗后的数据

df.to_csv("clean_data.csv", index=False)

五、简单完整示例

import pandas as pd

df = pd.read_csv("data.csv")
df.drop_duplicates(inplace=True)
df.dropna(subset=["age"], inplace=True)
df["name"] = df["name"].str.strip()
df["age"] = df["age"].astype(int)
df.to_csv("clean_data.csv", index=False)

如果你有具体数据(CSV / Excel / 爬虫数据 / 日志),可以直接发我,我可以帮你写针对性的清洗代码

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI