精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

利用 Pandas 進行分類數據編碼的十種方式

開發
其實就像本文介紹數據編碼轉換一樣,確實有很多方法可以實現顯得很亂,但學習pandas的正確姿勢就是應該把它當成字典來學,不必記住所有方法與細節,你只需知道有這么個函數能完成這樣操作,需要用時能想到,想到再來查就行。

最近在知乎上看到這樣一個問題:

題主表示pandas用起來很亂,事實真的如此嗎?本文就將先如何利用pandas來行數據轉換/編碼的十種方案,最后再回答這個問題。

其實這個操作在機器學習中十分常見,很多算法都需要我們對分類特征進行轉換(編碼),即根據某一列的值,新增(修改)一列。

為了方便理解,下面創建示例DataFrame:

數值型數據

讓我們先來討論連續型數據的轉換,也就是根據Score列的值,來新增一列標簽,即如果分數大于90,則標記為A,分數在80-90標記為B,以此類推。

自定義函數 + 循環遍歷

首先當然是最簡單,最笨的方法,自己寫一個函數,并用循環遍歷,那肯定就是一個def加一個for:

df1 = df.copy()

def myfun(x):
if x>90:
return 'A'
elif x>=80 and x<90:
return 'B'
elif x>=70 and x<80:
return 'C'
elif x>=60 and x<70:
return 'D'
else:
return 'E'

df1['Score_Label'] = None
for i in range(len(df1)):
df1.iloc[i,3] = myfun(df1.iloc[i,2])

這段代碼,相信所有人都能看懂,簡單好想但比較麻煩

有沒有更簡單的辦法呢?pandas當然提供了很多高效的操作的函數,繼續往下看。

自定義函數 + map

現在,可以使用map來干掉循環(雖然本質上也是循環):

df2 = df.copy()

def mapfun(x):
if x>90:
return 'A'
elif x>=80 and x<90:
return 'B'
elif x>=70 and x<80:
return 'C'
elif x>=60 and x<70:
return 'D'
else:
return 'E'

df2['Score_Label'] = df2['Score'].map(mapfun)

結果是同樣的:

自定義函數 + apply

如果還想簡潔代碼,可以使用自定義函數 + apply來干掉自定義函數:

df3 = df.copy()
df3['Score_Label'] = df3['Score'].apply(lambda x: 'A' if x > 90 else (
'B' if 90 > x >= 80 else ('C' if 80 > x >= 70 else ('D' if 70 > x >= 60 else 'E'))))

結果和上面是一致的,只不過這么寫容易被打。

使用 pd.cut

現在,讓我們繼續了解更高級的pandas函數,依舊是對 Score 進行編碼,使用pd.cut,并指定劃分的區間后,可以直接幫你分好組:

df4 = df.copy()
bins = [0, 59, 70, 80, 100]
df4['Score_Label'] = pd.cut(df4['Score'], bins)

也可以直接使用labels參數來修改對應組的名稱,是不是方便多了:

df4['Score_Label_new'] = pd.cut(df4['Score'], bins, labels=[
'low', 'middle', 'good', 'perfect'])

使用 sklearn 二值化

既然是和機器學習相關,sklearn肯定跑不掉,如果需要新增一列并判定成績是否及格,就可以使用Binarizer函數,代碼也是簡潔好懂:

df5 = df.copy()
binerize = Binarizer(threshold = 60)
trans = binerize.fit_transform(np.array(df1['Score']).reshape(-1,1))
df5['Score_Label'] = trans

文本型數據

下面介紹更常見的,對文本數據進行轉換打標簽。例如新增一列,將性別男、女分別標記為0、1

使用 replace

首先介紹replace,但要注意的是,上面說過的自定義函數相關方法依舊是可行的:

df6 = df.copy()
df6['Sex_Label'] = df6['Sex'].replace(['Male','Female'],[0,1])

上面是對性別操作,因為只有男女,所以可以手動指定0、1,但要是類別很多,也可以使用pd.value_counts()來自動指定標簽,例如對Course Name列分組:

df6 = df.copy()
value = df6['Course Name'].value_counts()
value_map = dict((v, i) for i,v in enumerate(value.index))
df6['Course Name_Label'] = df6.replace({'Course Name':value_map})['Course Name']

使用map

額外強調的是,新增一列,一定要能夠想到map

df7 = df.copy()
Map = {elem:index for index,elem in enumerate(set(df["Course Name"]))}
df7['Course Name_Label'] = df7['Course Name'].map(Map)

使用astype

這個方法應該很多人不知道,這就屬于上面提到的知乎問題,能實現的方法太多了:

df8 = df.copy()
value = df8['Course Name'].astype('category')
df8['Course Name_Label'] = value.cat.codes

使用 sklearn

同數值型一樣,這種機器學習中的經典操作,sklearn一定有辦法,使用LabelEncoder可以對分類數據進行編碼:

from sklearn.preprocessing import LabelEncoder
df9 = df.copy()
le = LabelEncoder()
le.fit(df9['Sex'])
df9['Sex_Label'] = le.transform(df9['Sex'])
le.fit(df9['Course Name'])
df9['Course Name_Label'] = le.transform(df9['Course Name'])

一次性轉換兩列也是可以的:

df9 = df.copy()
le = OrdinalEncoder()
le.fit(df9[['Sex','Course Name']])
df9[['Sex_Label','Course Name_Label']] = le.transform(df9[['Sex','Course Name']])

使用factorize

最后,再介紹一個小眾但好用的pandas方法,我們需要注意到,在上面的方法中,自動生成的Course Name_Label列,雖然一個數據對應一個語言,因為避免寫自定義函數或者字典,這樣可以自動生成,所以大多是無序的。

如果我們希望它是有序的,也就是 Python 對應 0,Java對應1,除了自己指定,還有什么優雅的辦法?這時可以使用factorize,它會根據出現順序進行編碼:

df10 = df.copy()
df10['Course Name_Label'] = pd.factorize(df10['Course Name'])[0]

結合匿名函數,我們可以做到對多列進行有序編碼轉換

df10 = df.copy()
cat_columns = df10.select_dtypes(['object']).columns

df10[['Sex_Label', 'Course Name_Label']] = df10[cat_columns].apply(
lambda x: pd.factorize(x)[0])

總結

至此,我要介紹的十種pandas數據編碼的方法就分享完畢,代碼拿走修改變量名就能用。

現在回到文章開頭的問題,如果你覺得pandas用起來很亂,說明你可能還未對pandas有一個全面且徹底的了解。

其實就像本文介紹數據編碼轉換一樣,確實有很多方法可以實現顯得很亂,但學習pandas的正確姿勢就是應該把它當成字典來學,不必記住所有方法與細節,你只需知道有這么個函數能完成這樣操作,需要用時能想到,想到再來查就行。

責任編輯:趙寧寧 來源: 早起Python
相關推薦

2022-07-11 13:30:08

Pandas數據編碼代碼

2017-12-11 16:25:25

2024-10-23 09:00:00

數據分析Pandas

2021-11-11 14:31:11

大數據人工智能

2012-12-10 14:37:10

2018-12-04 21:05:51

2022-06-15 10:44:12

通貨膨脹IT

2011-12-21 21:16:58

2024-02-19 15:59:56

2012-05-14 09:11:33

移動CRM企業

2014-12-12 10:29:28

SaaS云服務

2020-11-26 20:54:23

AI人工智能建筑

2022-07-15 08:48:07

IT通貨膨脹IT支出

2022-08-26 16:44:40

智慧城市AI人工智能

2023-08-11 16:23:38

AI數據庫人工智能

2020-03-17 12:00:06

人工智能數據科學新冠病毒

2022-07-06 09:00:00

DevOpsIT技術債務

2019-11-27 15:30:32

人工智能機器人技術

2022-08-26 16:21:47

數據分析工具運營

2013-10-12 15:36:54

點贊
收藏

51CTO技術棧公眾號

国产精品女主播视频| 精品网站999www| 成人手机在线播放| 六月婷婷中文字幕| 快she精品国产999| 中文在线不卡视频| 亚洲妇女无套内射精| 天堂8中文在线最新版在线| 中文字幕精品综合| 国产区日韩欧美| 伊人22222| 亚洲国产激情| 久久精品久久久久久| 大尺度做爰床戏呻吟舒畅| 久久人人视频| 黑人巨大精品欧美一区二区一视频 | 亚洲人做受高潮| 狠狠一区二区三区| 欧美精品久久99| 国产91在线免费| 宅男网站在线免费观看| 2021久久国产精品不只是精品| 国产精品一区二区三| 国产在线视频你懂的| 91欧美国产| 亚洲欧美国产一本综合首页| 永久免费看片在线观看| 国产亚洲人成a在线v网站| 同产精品九九九| 一区二区三区四区免费观看| av资源网站在线观看| 成人av一区二区三区| 亚洲iv一区二区三区| 做爰无遮挡三级| 亚洲欧美成人综合| 国内揄拍国内精品| 免费在线观看国产精品| 亚洲精品电影| 久久精品视频导航| 啪啪一区二区三区| 青青草综合网| 国产一区二区三区在线观看网站| 欲求不满的岳中文字幕| 超碰成人在线观看| 精品国产自在久精品国产| 亚洲精品综合在线观看| 久久夜夜久久| 欧美日韩精品一区二区| 午夜精品在线免费观看| 亚洲mmav| 欧美日韩专区在线| 九色porny自拍| 日韩色性视频| 欧美久久一区二区| 在线播放免费视频| 精品一区二区三区免费看| 91精品国产福利在线观看| 免费黄频在线观看| 视频一区中文字幕精品| 亚洲精品一区二区精华| 久久免费精品国产| 私拍精品福利视频在线一区| 日韩经典中文字幕| 国产肥白大熟妇bbbb视频| 一本色道久久综合狠狠躁的番外| 亚洲美腿欧美激情另类| 欧美偷拍一区二区三区| 日韩1区2区| 久久色在线播放| 欧美成欧美va| 一本一本久久| 国产精品激情av电影在线观看| 中文字幕在线播出| 国精产品一区一区三区mba桃花| 亚洲自拍偷拍区| 欧美一区二区三区黄片| 91麻豆免费看| 一区二区冒白浆视频| 99自拍视频在线观看| 亚洲一区二区三区在线看| 欧美日本视频在线观看| 国产精品第一| 欧美mv日韩mv国产| 波多野吉衣中文字幕| 欧美电影免费| 亚州av一区二区| 免费无码国产精品| 国产麻豆视频一区二区| 久久青青草综合| 日本a在线播放| 精品magnet| 亚洲综合欧美在线| 精品国产一区二区三区不卡蜜臂 | 一本色道久久综合亚洲精品按摩| 午夜免费精品视频| 亚洲va欧美va人人爽成人影院| 日韩av一区在线观看| 欧美aaa级片| 精品白丝av| 国产欧美日韩高清| 色视频在线看| 一区二区三区鲁丝不卡| 亚洲成人av免费看| jizz性欧美23| www.欧美精品一二三区| 欧美啪啪小视频| 国产精品综合在线视频| 欧美日本韩国国产| 蜜臀av国内免费精品久久久夜夜| 色婷婷亚洲精品| 亚洲成人福利视频| 久久综合88| 日韩免费不卡av| 蜜臀久久精品久久久久| 亚洲欧洲另类国产综合| 日本精品久久久久中文字幕| 91国内精品白嫩初高生| 色一区av在线| 国产又粗又猛又爽又| 99精品欧美一区二区蜜桃免费| 中文字幕剧情在线观看一区| 美脚恋feet久草欧美| 亚洲成人黄色在线观看| 一级片一级片一级片| 日韩成人av影视| 免费日韩电影在线观看| 77thz桃花论族在线观看| 日韩一区二区免费高清| 任我爽在线视频| 日韩电影免费一区| 欧美在线3区| 天堂av在线| 亚洲国产欧美日韩精品| 久久久久久av无码免费网站| 国产伦精品一区二区三区在线观看| 五月天久久综合网| 综合在线影院| 亚洲人在线观看| 黄色污污网站在线观看| 26uuu国产在线精品一区二区| 国产一区二区四区| av成人资源| 午夜精品久久久久久久久久久久| 亚洲av少妇一区二区在线观看| 亚洲欧洲在线观看av| wwwwwxxxx日本| 91蜜臀精品国产自偷在线| 国产专区欧美专区| 黄色免费网站在线观看| 欧美一级一区二区| 免费中文字幕在线观看| 丰满白嫩尤物一区二区| 成年女人18级毛片毛片免费 | 蜜臂av日日欢夜夜爽一区| 日韩一区二区三区资源| 91天天综合| 俺去亚洲欧洲欧美日韩| 97人妻精品一区二区三区| 亚洲日韩欧美一区二区在线| 欧美性猛交乱大交| 亚洲手机视频| 久久99久久99精品蜜柚传媒| 美女福利一区二区| 中文字幕在线视频日韩| 国产精品久久无码一三区| 一区二区三区久久| 亚洲av成人精品一区二区三区| 国产亚洲精品久久久久婷婷瑜伽| 区一区二区三区中文字幕| 国内欧美日韩| 欧美大成色www永久网站婷| 国产成人无码www免费视频播放| 亚洲国产视频在线| 少妇大叫太粗太大爽一区二区| 日韩有码一区二区三区| 中文字幕日韩一区二区三区| 1313精品午夜理伦电影| 69视频在线播放| 91激情在线| 日韩欧美亚洲国产另类| 欧美日韩乱国产| 国产精品久久久久久久久免费桃花| 青青草原播放器| 国产日韩视频| 国产一区一区三区| 香蕉国产成人午夜av影院| 国产精品日韩在线一区| 欧美性爽视频| 在线播放国产一区二区三区| 国产黄a三级三级三级| 欧美日韩激情视频| 任我爽在线视频| 26uuu久久综合| 天天爽夜夜爽视频| 日韩在线一二三区| 亚洲国产精品无码av| 精品大片一区二区| http;//www.99re视频| 姬川优奈av一区二区在线电影| 久久国产精品影视| 国产特黄在线| 亚洲精品一区二区三区福利 | 精品系列免费在线观看| 欧美激情 国产精品| 999久久久91| 欧美一区二区三区电影在线观看| 日韩一区二区三区精品视频第3页| 青草热久免费精品视频 | 一区二区三区四区在线播放| 少妇按摩一区二区三区| 国产成人午夜视频| 中文字幕第100页| 免费视频一区二区三区在线观看| 艳母动漫在线观看| 日韩欧美网址| 日产中文字幕在线精品一区| 成人性生交大片免费看96| 国产久一一精品| 日韩a**中文字幕| 97成人在线视频| 美女精品视频| 欧美成人一区在线| 国产区在线观看| 少妇高潮久久77777| 毛片网站在线观看| 日韩精品www| 天堂在线资源8| 精品对白一区国产伦| 国产成人三级一区二区在线观看一 | 国产一区一区| 成人国产精品色哟哟| 欧美大片免费高清观看| 97久久国产精品| 国产黄色大片在线观看| 乱亲女秽乱长久久久| 免费高清在线观看| 色妞一区二区三区| 日本电影在线观看网站| 中文字幕在线成人| 亚洲免费视频一区二区三区| 一个色综合导航| 第三区美女视频在线| 国产一区二区三区在线观看视频| 九色视频在线播放| 国产亚洲精品美女| 1769视频在线播放免费观看| 亚洲午夜久久久影院| 韩国中文免费在线视频| 亚洲色图17p| h视频在线观看免费| 国产午夜精品免费一区二区三区 | 国产嫩草影院久久久久| 新91视频在线观看| 欧美经典一区二区| chinese全程对白| 亚洲美女在线一区| 国产性70yerg老太| 欧美日韩国产精品| 免费av中文字幕| 欧美猛男gaygay网站| 国产精品欧美综合亚洲| 日韩精品一区二区三区swag| 你懂的网站在线| 精品亚洲一区二区三区在线观看| 久久久久久女乱国产| 在线精品播放av| 国产成人l区| 欧美激情视频一区| 日本在线高清| 国产精品美女午夜av| 日本在线成人| 久久久久资源| 欧美肥老太太性生活| 成人毛片100部免费看| 99精品国产99久久久久久福利| 激情网站五月天| 黄色精品一二区| 亚洲av熟女高潮一区二区| 久久美女艺术照精彩视频福利播放| 国产精品久久免费观看| 亚洲精品成人少妇| 日韩人妻精品中文字幕 | 欧美性猛交 xxxx| 亚洲午夜未删减在线观看 | 国产真实有声精品录音| 日韩最新中文字幕| 日韩视频一区| 久久成年人网站| 99精品欧美一区二区三区小说| 国产探花视频在线| 亚洲一二三区在线观看| 糖心vlog精品一区二区| 精品福利一区二区三区| 色欧美激情视频在线| 97精品国产97久久久久久春色| 91超碰碰碰碰久久久久久综合| 91精品国产高清久久久久久91裸体| 色88888久久久久久影院| 中文字幕一区二区三区四区五区| 亚洲精品在线二区| 国产三级精品三级在线| 久久久亚洲国产美女国产盗摄| www.毛片com| 在线免费不卡视频| 日本精品一二区| 久久影院免费观看| 美女100%露胸无遮挡| 精品国产一区二| 成人在线视频网址| 忘忧草精品久久久久久久高清| 色欲av无码一区二区人妻| 国产曰批免费观看久久久| 欧美 日韩 国产 成人 在线观看 | 久久精品性爱视频| 欧美日韩免费一区二区三区| 午夜成人免费影院| 欧美国产乱视频| 国产精品毛片无码| 亚洲精品中文字幕在线| 久久精品一区| 在线免费观看污视频| 亚洲午夜在线电影| hs视频在线观看| 日韩三级影视基地| 国产精品.xx视频.xxtv| 蜜桃传媒视频麻豆第一区免费观看 | 国产一区视频免费观看| 波多野结衣一区二区三区 | 色狠狠色噜噜噜综合网| 日本黄色三级视频| 久久久久这里只有精品| 天堂久久av| 好吊色这里只有精品| 美国一区二区三区在线播放 | 国产51人人成人人人人爽色哟哟| 97久久精品人搡人人玩| 欧美理伦片在线播放| 激情深爱综合网| 99久久久久久| 欧美 日韩 精品| 亚洲欧美日韩中文视频| 国产精品一区二区av影院萌芽| 精品在线一区| 亚洲伊人网站| 国产全是老熟女太爽了| 日韩欧美在线中文字幕| 欧美孕妇孕交| 日韩av日韩在线观看| 久久99国产精一区二区三区| 国产男女无遮挡| 国产日产亚洲精品系列| 中文字幕黄色av| www.日本久久久久com.| 97色婷婷成人综合在线观看| 黄瓜视频免费观看在线观看www| 精品系列免费在线观看| 一区二区在线观看免费视频| 欧美v日韩v国产v| 97人澡人人添人人爽欧美| 久99久视频| 日韩福利视频导航| 男人av资源站| 精品国产自在久精品国产| 中文字幕在线直播| 性欧美.com| 国产一二三精品| 国产精品a成v人在线播放| 精品视频在线播放色网色视频| 3d欧美精品动漫xxxx无尽| 亚洲一区二区三区在线观看视频| 激情欧美一区二区三区在线观看| 欧美日韩一级大片| 日韩成人在线网站| 福利一区二区| 欧美在线观看视频免费| 久久亚洲精品国产精品紫薇| www.久久视频| 久久99青青精品免费观看| 亚洲人成网亚洲欧洲无码| 一级黄色特级片| 亚洲国产一区二区视频| 9色在线视频网站| 粉嫩av免费一区二区三区| 久久激情网站| 欧美日韩精品亚洲精品| 亚洲男人的天堂在线播放| 日韩免费在线电影| 欧美 日本 亚洲| 亚洲天堂成人网| 亚州精品国产精品乱码不99按摩| 国产精品网红直播| 在线国产日韩| 亚洲人与黑人屁股眼交| 亚洲精品成人网| 99视频有精品高清视频| 国产亚洲综合视频| 一区二区三区在线高清| 大片免费播放在线视频| 国产综合色一区二区三区| 久久精品国产99|