数据预处理的10个小技能,附Pandas实现
数据预处理常用的处理步骤,包括找出异常值、处理缺失值、过滤不合适值、去掉重复行、分箱、分组、排名、category转数值等,下面使用 pandas 解决这些最常见的预处理任务。
找出异常值常用两种方法:
标准差法:异常值平均值上下1.96个标准差区间以外的值 分位数法:小于 1/4分位数减去 1/4和3/4分位数差的1.5倍,大于3/4减去 1/4和3/4分位数差的1.5倍,都为异常值
技能1 :标准差法
import pandas as pd df = pd.DataFrame({'a':[1,3,np.nan],'b':[4,np.nan,np.nan]}) # 异常值平均值上下1.96个标准差区间以外的值 mea数据ngrade = df['a'].mean() stdgrade = df['a'].std() toprange = meangrade + stdgrade * 1.96 botrange = meangrade - stdgrade * 1.96 # 过滤区间外的值 copydf = df copydfcopydf = copydf.drop(copydf[copydf['a'] 预处 > toprange].index) copydfcopydf = copydf.drop(copydf[copydf['a'] < botrange].index) copydf
技能2:分位数法
q1 = df['a'].quantile(.25) q3 = df['a'].quantile(.75) iqr = q3-q1 toprange = q3 + iqr * 理的1.5 botrange = q1 - iqr * 1.5 copydf = df copydfcopydf = copydf.drop(copydf[copydf['a'] > toprange].index) copydfcopydf = copydf.drop(copydf[copydf['a'] < botrange].10index) copydf
技能3:处理空值
np.nan 是 pandas 中常见空值,使用 dropna 过滤空值,axis 0 表示按照行,1 表示按列,how 默认为 any ,意思是只要有一个 nan 就过滤某行或某列,all 所有都为 nan
# axis 0 表示按照行,all 此行所有值都为 nan df.dropna(axis=0, how='all')
技能4:充填空值
空值一般使用某个统计值填充,如平均数、众数、中位数等,使用函数 fillna:
# 使用a列平均数填充列的空值,inplace true表示就地填充 df["a"].fillna(df["a"].mean(), inplace=True)
技能个小5:修复不合适值
假如某门课最高分100,如果出现 -2, 120 这样的值,显然不合理,使用布尔类型的Series对象修改数值:
df.loc[(df['a'] < -2,'a')] = 0 df.loc[(df['a'] >= 100,'a')] = 100
技能6:过滤重复值
过滤某列重复值,使用 drop_duplicated 方法,第一个参数为列名,keep关键字等于last:最后一次出现此值行:
df.drop_duplicates(['Names'], keep='last')
技能7:apply 元素级:去掉特殊字符
某列单元格含有特殊字符,如标点符号,使用元素级操作方法 apply 干掉它们:
import&n技能bsp;string exclude = set(string.punctuation) def remove_punctuation(x): x = ''.join(ch for ch in x if ch not in exclude) return x # ԭdf Out[26]: a  ,附; b 0 c,d edc.rc 1 3 3 2 d ef 4 # 过滤a列标点 In [27]: dfdf.a = df.a.apply(remove_punctuation) In [28]: df &nbsPap; Out[28]: a b 0 cd edc.rc 1 3 3 2 d ef &nbsndp; 4
技能8:cut 数据分箱
将百分制分数转为A,B,C,D四个等级,bins 被分为 [0,60,75,90,100],labels 等于['D', 'C', 'B', 'A']:
# 生成20个[0,100]的随机整数 In [30]: a = np.random.randint(1,100,20) In [31]: a &nasbsp; Out[31]: array([48, 22, 46, 84, 13, 52, 36, 35, 27, 99, 31, 37, 15, 31, 5, 46, 98,99,&nbs实现p;60, 43]) # cut分箱 In [33]: pd.cut(a, [0,60,75,90,100], labels = ['D', 'C', 'B', 'A']) Out[33]: [D, D, D, B, D, ..., D, A, A, D, D] Length: 20 数据;Categories (4, object): [D < C < B < A]
技能9:rank 排名
rank 方法,生成数值排名,ascending 为False,分值越大,排名越靠前:
In [36]: df = pd.DataFrame({'a':[46, 98,99, 60, 43]} )) In [53]: df['a'].rank(ascending=False) &nb预处sp; Out[53]: 0 4.0 1 2.0 2 1.0 3 3.0 4 5.0
技能10:category列转数值
某列取值只可能为有限个枚举值,往往需要转为数值,使用get_dummies,或自己定义函数:
pd.get_dummies(df['a'])
自定义函数,结合 apply:
def c2n(x):&nbs理的p; if x=='A': return 95 if x=='B': return 80 df['a'].apply(c2n)
以上结合数据预处理的十个小任务,分别找到对应pandas中的实现。
-
云计算核心技术Docker教程:Docker Hub在存储库上启用自动化测试标签: 华与华 罗永浩 百万创意大奖赛云计算核心技术Docker教程:Docker通过构建缓存来优化 GitHub Actions 工作流标签: 小红书 TikTok 彭博社 英国卫报标签: 福布斯富豪榜 OpenClaw 混元模型 腾讯云阿里云第三财季营收195亿元 非互联网客户占比过半标签: 禾赛科技 激光雷达 ADAS 机器人激光雷达标签: 魅族科技 懂车帝 米哈游 王力宏谷歌 Lens 与 AI 模式上线 Nano Banana 图像编辑功能AWS 发布 Agentic AI 应用 Quick Suite:一站式连接1000+ 企业应用,彻底变革工作流程
- ·浜戝畨鍏ㄦ棩鎶�210721锛欰dobe Photoshop鍥剧墖澶勭悊杞�欢鍙戠幇浠绘剰浠g爜鎵ц�婕忔礊锛岄渶瑕佸敖蹇�崌绾�
- ·标签: 零跑汽车 朱江明 廉洁合规 反腐举报
- ·科普一下机器学习热门概念
- ·标签: 京东 京喜
- ·数据中心进入“液冷时代” 曙光助力绿色数据中心建设
- ·标签: 吉利 李书福 青年创业 醇氢电动
- ·百度ALL IN AI:李彦宏现场签发百万美元巨奖,直言AI大模型已达“临界点”
- ·云安全日报210401:思科交换机操作系统软件发现任意代码执行漏洞,需要尽快升级
- ·标签: 长久股份 久车GO 新汽车流通服务 质押车辆监控服务
- ·字节跳动发布豆包大模型1.6:首个支持可调思考深度的国产模型
- ·标签: 阿维塔 阿维塔07 NCA_STANDBY 南宁车祸
- ·数据挖掘从入门到放弃之一线性回归和逻辑回归
- ·英伟达50亿美元入股英特尔,联手开发x86芯片挑战AMD
- ·靴子落地:欧盟批准谷歌21亿美元收购Fitbit交易
- ·Adobe推出AI Foundry服务:为企业定制基于品牌资产的生成式AI模型
- ·标签: 可灵AI 可灵视频3.0 可灵图片3.0 AI影视生成
- ·特朗普将召集微软谷歌等科技巨头签署承诺:自行承担数据中心电费
- ·云安全日报210108: 谷歌Chrome浏览器87版本发现多个重要漏洞,需要尽快升级
- ·云计算核心技术Docker教程:Docker Compose指定compose配置文件
- ·不止文本!研究人员发现AI系统新漏洞,图像重采样竟成攻击入口
- ·开源!腾讯混元图像3.0正式上线,支持中英文精准渲染、长文本生成
- ·高薪新风口:人工智能岗位月薪最高7.8万,实习生日薪可达4000元
- ·英特尔赢得芯片诉讼,避免了30亿美元赔偿
- ·法国总统马克龙提出欧洲“数字主权”构想,建设欧洲云成为重点
- ·CloudTech公布2021年值得关注的云计算趋势,包括无服务器计算、混合云
- ·公共云与私有云的主要优势和区别
- ·https://www.roberthalf.com/us/en/jobs/all/歌外推【tg:seogoogle987】az3
- ·https://www.seforall.org/search?keywords=歌外推【tg:seogoogle987】,PG6
- ·https://www.klatreverden.no/search?q=歌外推【tg:seogoogle987】,CzT
- ·https://www.zutari.com/?s=歌外推【tg:seogoogle987】,RlL
- ·https://www.tullygroup.us/?ID=hbkq8jFjrQlVRrwzEmvoUJJAY4e1Lfo5&s=歌外推【tg:seogoogle987】,kAc
- ·https://www.kingston.gov.uk/site-search/results/?q=歌外推【tg:seogoogle987】,z2I
- ·https://www.remit.co.jp/zh/?s=歌外推【tg:seogoogle987】,JBI
- ·https://www.stonerealestate.com.au/?cat=100&s=歌外推【tg:seogoogle987】,nzd
- ·https://www.teamlab.art/ko/?submit=歌外推【tg:seogoogle987】,wF5
- ·https://www.xbiao.com/search/index?tpf&wd=歌外推【tg:seogoogle987】,O3L
- ·标签: 德硕科技 电锤电镐 北交所IPO ODM模式
- ·从GitHub爆红到企业落地,Dify.AI携手亚马逊云科技服务全球市场
- ·谷歌反垄断案进展:如何保护机密信息成为关注点
- ·对抗SpaceX!亚马逊收购Facebook卫星互联网团队
- ·中国大模型价格战背后的真相
- ·微软智能云Azure在华的第五个数据中心区域正式启用
- ·云安全日报210303:Debian无线配置管理软件发现执行任意代码漏洞,需要尽快升级
- ·黑镜狗再现!波士顿动力「大黄狗」上岗SpaceX勘察爆炸现场
- ·AI Agent公然“伪装”人类购物!亚马逊震怒下达“最后通牒”,Perplexity 怒斥:这是霸凌!
- ·我命运般的什么梗
