woe分析_Python数据分析—apply函数
生活随笔
收集整理的這篇文章主要介紹了
woe分析_Python数据分析—apply函数
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
在對(duì)海量數(shù)據(jù)進(jìn)行分析的過(guò)程中,我們可能要把文本型的數(shù)據(jù)處理成數(shù)值型的數(shù)據(jù),方便放到模型中進(jìn)行使用。也可能需要把數(shù)值型的數(shù)據(jù)分段進(jìn)行處理,比如變量的woe化。而這些操作都可以借助python中的apply函數(shù)進(jìn)行處理。 注意:本文沿用數(shù)據(jù)分析第一課【Python數(shù)據(jù)分析—數(shù)據(jù)建立】里的數(shù)據(jù)框date_frame:
今天介紹數(shù)據(jù)分析的第四課,教大家如何在python中用apply函數(shù)對(duì)數(shù)據(jù)框進(jìn)行一些復(fù)雜一點(diǎn)的操作。
本文目錄把字符型的數(shù)據(jù)處理成數(shù)值型
把數(shù)值型的數(shù)據(jù)分段處理
?1?? 把字符型的數(shù)據(jù)處理成數(shù)值型
假設(shè)要在原數(shù)據(jù)框中把性別這一列,”男“字符替換成1、“女”字符替換成0,并生成一個(gè)新列。首先,可以自定義一個(gè)替換函數(shù)。具體語(yǔ)句如下:def replace_gender_to_num(val): if val=='男': return 1 else: return 0然后用apply函數(shù)調(diào)用該函數(shù),具體語(yǔ)句如下:date_frame.gender.apply(replace_gender_to_num)得到結(jié)果如下:至此,原gender列中“男”字符替換成1,“女”字符替換成0。把該列加入到原數(shù)據(jù)框中去,具體語(yǔ)句如下:date_frame['new_gender'] = date_frame.gender.apply(replace_gender_to_num)得到結(jié)果如下:可以發(fā)現(xiàn)性別為男,在new_gender中對(duì)應(yīng)值為1,性別為女在new_gender中對(duì)應(yīng)值為0。?2?? 把數(shù)值型的數(shù)據(jù)分段處理
在建模過(guò)程中,要把不同分段的值轉(zhuǎn)化成對(duì)應(yīng)的woe,需要用到apply函數(shù)進(jìn)行處理。類(lèi)似的,在這個(gè)實(shí)例中假設(shè)要把身高高于1.8的同學(xué)當(dāng)成第一類(lèi),身高高于1.65的當(dāng)成第二類(lèi),其余的同學(xué)當(dāng)成第三類(lèi)。可以定義一個(gè)如下轉(zhuǎn)換函數(shù):def height_to_class(val): if val>=1.8: return 1 elif val>=1.65: return 2 else: return 3然后用apply函數(shù)調(diào)用該函數(shù),并把得到的結(jié)果值保存到原數(shù)據(jù)框中去,具體語(yǔ)句如下:date_frame['heigth_class'] = date_frame.height.apply(height_to_class)得到結(jié)果如下:至此,在python中應(yīng)用apply函數(shù)進(jìn)行數(shù)據(jù)處理已介紹完畢,大家可以動(dòng)手練習(xí)一下,思考一下apply函數(shù)還有沒(méi)有別的用途。
往期回顧:3D星空?qǐng)D3D星空?qǐng)DV2版520表白代碼合集用python繪制皮卡丘娛樂(lè)圈排行榜動(dòng)態(tài)條形圖繪制
掃一掃關(guān)注我
19967879837
投稿微信
總結(jié)
以上是生活随笔為你收集整理的woe分析_Python数据分析—apply函数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 江湖俏佳人剧情介绍
- 下一篇: python 网格交易源码下载_GitH