5分钟搞定Python数据清洗📊!
做数据分析最头疼的不是建模,而是洗数据😭 80%的时间都耗在缺失值、重复值、异常值上,今天把压箱底的Pandas清洗流程整理出来,一行代码搞定,新手也能直接套用!
🔍 第一步:先看数据长啥样
df.info() # 看字段类型和缺失情况
df.head() # 预览前5行
df.isnull().sum() # 统计每列缺失数
大文件用 chunksize 分块读取,再也不怕内存爆红🔥
🧹 第二步:处理缺失值(最常遇到)
删:df.dropna(subset=['列名'])
填:df['age'].fillna(df['age'].median())(数值用中位数,分类用“未知”)
高级玩法:按分组填充,比如不同班级补不同的平均分
时序数据用 interpolate() 插值,平滑又合理
🚫 第三步:干掉重复数据
df.drop_duplicates(subset=['user_id'], keep='first') 按用户ID去重,保留最早记录;
⚠️ 第四步:揪出异常值
业务规则:年龄>120的直接筛掉
统计学方法:用四分位距(IQR),超出1.5倍范围的直接剔除
python
Q1 = df['value'].quantile(0.25) Q3 = df['value'].quantile(0.75)
IQR = Q3 - Q1
df = df[(df['value'] >= Q1-1.5*IQR) & (df['value'] <= Q3+1.5*IQR)]
📐 第五步:矫正数据类型
pd.to_datetime() 转日期
pd.to_numeric() 转数字(报错自动变NaN)
百分数字符串先去掉%再除100
类别型字段用 astype('category'),内存直接砍半
✂️ 第六步:清洗文本字段
str.strip() 去空格,
str.lower() 统一小写,
str.replace() 去掉无用符号
💡 进阶贴士
链式操作:df.dropna().drop_duplicates().reset_index(drop=True)
隐性缺失值先替换成 np.nan,再统一处理
完整Python籽料给大家整理好了,有需要的小伙伴按以下步骤获取领取方式
1、点赞+在看
2、后台回复:Python