用 Python 清洗数据通常分为明确问题 → 读取数据 → 处理缺失值/异常值/重复值 → 格式规范化 → 输出结果几个步骤。下面我用一个通用流程 + 示例代码给你讲清楚。
import pandas as pd
import numpy as np
df = pd.read_csv("data.csv")
# df = pd.read_excel("data.xlsx")
df.info()
df.describe()
df.head()
查看缺失值
df.isnull().sum()
删除缺失值
df.dropna(inplace=True)
填充缺失值
# 数值型用均值
df["age"].fillna(df["age"].mean(), inplace=True)
# 字符型用众数
df["city"].fillna(df["city"].mode()[0], inplace=True)
df.drop_duplicates(inplace=True)
# 删除年龄异常
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)]
# 去空格
df["name"] = df["name"].str.strip()
# 转小写
df["email"] = df["email"].str.lower()
# 替换
df["gender"] = df["gender"].replace({"男":"M","女":"F"})
df["date"] = pd.to_datetime(df["date"], errors="coerce")
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 / 爬虫数据 / 日志),可以直接发我,我可以帮你写针对性的清洗代码。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。