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

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

開發 后端
題主表示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-04-20 15:10:55

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

2012-05-14 09:11:33

移動CRM企業

2024-02-19 15:59:56

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

人工智能機器人技術

2013-10-12 15:36:54

2022-08-26 16:21:47

數據分析工具運營
點贊
收藏

51CTO技術棧公眾號

在线观看日产精品| 91天堂素人约啪| 久久久精品久久| 中文在线观看免费视频| 欧美7777| 亚洲日本一区二区| 好吊色欧美一区二区三区| 中文字幕在线天堂| 欧美 日韩 国产 一区| 亚洲第一视频网站| 国产主播中文字幕| 男人天堂亚洲| 欧美激情一区二区三区全黄| 5g国产欧美日韩视频| 国产成人愉拍精品久久 | 日韩va亚洲va欧美va久久| 色婷婷av一区二区三区在线观看| av电影中文字幕| 欧美影视资讯| 亚洲成a人片在线观看中文| 日韩精品久久久| 亚洲国产精品国自产拍久久| 三级在线观看一区二区| 色综合久久88色综合天天看泰| 久久久久亚洲av无码专区桃色| 九九九九九九精品任你躁| 一本大道av一区二区在线播放| 黄色网zhan| 成年人在线看| 99视频一区二区| 91视频99| 国产乱色精品成人免费视频| 久久久久久夜| 国产做受高潮69| 91免费公开视频| 精品国产一区二区三区小蝌蚪 | 欧美日韩在线免费观看| 毛片av在线播放| 男人天堂久久久| 国产日本欧洲亚洲| 久久久久久草| 少妇无码一区二区三区| 国产二区国产一区在线观看| 国产免费一区二区三区在线能观看| 日韩欧美三级在线观看| 亚洲欧美伊人| 欧美床上激情在线观看| 亚洲女人久久久| 91一区在线| 中文字幕精品久久久久| 成熟人妻av无码专区| 亚洲国产网址| 日韩精品一区二区三区第95| 影音先锋资源av| 亚洲1区在线观看| 欧美一区二区精美| 女王人厕视频2ⅴk| 久久wwww| 日韩视频一区在线观看| 香蕉视频在线观看黄| 国产午夜亚洲精品一级在线| 欧美夫妻性生活| 夜夜爽久久精品91| 欧美专区一区| 精品奇米国产一区二区三区| 亚洲图片欧美另类| 久久影视三级福利片| 精品成人一区二区三区四区| 亚洲一区二区三区四区av| 99re热精品视频| 亚洲精品在线免费播放| 国产一级免费片| 欧美一区自拍| 亚洲新中文字幕| jizz日本在线播放| 最新国产精品| 97久久精品视频| 免费视频久久久| 免费成人在线视频观看| 成人妇女淫片aaaa视频| 亚洲高清视频网站| 91视频国产观看| 亚洲成人18| 成人日韩欧美| 欧美日韩裸体免费视频| 国产精品视频黄色| 日本超碰一区二区| 亚洲精品第一页| 波多野结衣一二三四区| 亚洲精品国产首次亮相| 欧美极品少妇xxxxⅹ喷水| 一区二区三区福利视频| 麻豆久久久久久久| 99在线视频首页| 欧美zzoo| 亚洲柠檬福利资源导航| 欧美网站免费观看| 四虎视频在线精品免费网址| 精品国产91亚洲一区二区三区婷婷| 野外性满足hd| 影音先锋日韩在线| 国产精品扒开腿爽爽爽视频| 精品国产免费无码久久久| 91视频91自| 米仓穗香在线观看| 偷拍中文亚洲欧美动漫| 日韩欧美国产1| 亚洲天堂岛国片| 亚洲国产导航| 成人免费午夜电影| 飘雪影视在线观看免费观看| 亚洲欧美日韩中文播放 | 久久69国产一区二区蜜臀| 国产精品久久久久久久久婷婷| 狠狠v欧美ⅴ日韩v亚洲v大胸| 成人免费小视频| 亚洲精品中文字幕无码蜜桃| 伊人精品综合| 久久久黄色av| 中文字幕av片| 久久久久久亚洲综合| 97超碰在线人人| 高清不卡一区| 日韩中文字幕在线精品| 日本一区二区三区免费视频| 国产制服丝袜一区| 亚洲视频小说| 精品网站在线| 国产一区二区久久精品| 国产精品午夜影院| 成人午夜大片免费观看| 日本高清xxxx| 2019中文亚洲字幕| 最近中文字幕2019免费| 超碰在线免费97| 久久久久久久久久久久久久久99| 日本中文字幕网址| jazzjazz国产精品麻豆| 色综合久综合久久综合久鬼88| 亚洲无码久久久久| 欧美激情一区二区三区蜜桃视频| 色欲av无码一区二区人妻| 九色丨蝌蚪丨成人| 久久久久久久国产| 亚洲第一视频在线播放| 亚洲制服丝袜av| 日韩精品――色哟哟| 亚洲精品一二三区区别| 成人免费激情视频| 久草中文在线观看| 欧美一级爆毛片| 国产大学生自拍| 国产成人自拍网| 成人短视频在线观看免费| 国产精品3区| 欧美成aaa人片免费看| 国产深喉视频一区二区| 亚洲激情av在线| 两女双腿交缠激烈磨豆腐| 永久亚洲成a人片777777| 风间由美一区二区三区| 97超碰在线免费| 日韩精品免费看| 欧美精品一二三四区| 久久久久99精品国产片| 国产视频手机在线播放| 欧美xxav| 国产精品theporn88| 色一区二区三区| 国产亚洲美女精品久久久| 亚洲无码精品国产| 亚洲在线一区二区三区| 午夜剧场免费看| 久久国产日本精品| 亚洲一区二区三区涩| 精品国产第一国产综合精品| 久久久久久欧美| 久久国产精品高清一区二区三区| 欧美视频在线观看一区| 亚洲天堂黄色片| 不卡一二三区首页| 无码内射中文字幕岛国片| 91欧美在线| 国产一区二区三区四区五区在线| 3d欧美精品动漫xxxx无尽| 色诱女教师一区二区三区| 精品人妻少妇AV无码专区| 午夜不卡av免费| 国产精品成人在线视频| 国产成人亚洲精品青草天美| 黄色a级片免费| 婷婷综合亚洲| 国产在线精品一区二区三区》| 欧洲av一区二区| 久久99精品久久久久久琪琪| 精品一二三区视频| 日韩欧美在线影院| 五月婷婷激情视频| 玉足女爽爽91| 国产精品天天干| 成人综合在线观看| 成 人 黄 色 小说网站 s色| 99综合精品| 国内外成人激情免费视频| 亚洲丝袜美腿一区| 97免费资源站| 国模私拍国内精品国内av| 久久久伊人欧美| 日本在线视频网| 精品视频偷偷看在线观看| 国产精品视频一区二区三区,| 欧美性色视频在线| 久久99久久久| 国产精品毛片高清在线完整版| www.啪啪.com| 国产麻豆精品久久一二三| 激情内射人妻1区2区3区| 国产精品九九| 激情图片qvod| 久久中文字幕av| 欧美资源一区| 久久亚州av| 国产精品视频免费一区二区三区 | 伊人久久亚洲影院| 一区二区三区的久久的视频| 欧美人妖在线| 九色一区二区| 国产精品一区二区中文字幕| 国产人妖伪娘一区91| 户外露出一区二区三区| 91国产在线精品| 黄色的视频在线观看| 久久成人精品电影| 免费不卡视频| 三级精品视频久久久久| av免费在线一区二区三区| 亚洲午夜精品久久久久久性色| 午夜视频免费在线| 欧美精品一区二区三区久久久| 99久久久久成人国产免费| 欧美日韩一级二级三级| 91丨九色丨海角社区| 色哟哟欧美精品| 六月丁香婷婷综合| 欧美午夜激情在线| 国产精品久久久久久久久久久久久久久久久 | 国产91成人video| 538在线观看| 久久久天堂国产精品女人| 图片区小说区亚洲| 欧美肥臀大乳一区二区免费视频| 国产二区三区在线| 欧美精品手机在线| 青草在线视频| 久久久免费高清电视剧观看| 手机在线免费看av| 久久久久久美女| 神马久久午夜| 国产精品69av| 国产第一亚洲| 川上优av一区二区线观看| 91麻豆精品| 99视频在线播放| 久久久亚洲欧洲日产| 欧美成人第一区| 成人羞羞网站入口| 免费观看黄色的网站| 欧美一区二区三区另类| 久久成人福利视频| 久久亚洲图片| 手机av在线免费| 国产东北露脸精品视频| 亚洲一区二区在线免费| 久久在线观看免费| 国产午夜福利一区| 亚洲码国产岛国毛片在线| 精品小视频在线观看| 日韩欧美999| 91国产精品一区| 精品免费国产一区二区三区四区| 日本激情视频网站| 亚洲一级黄色片| 超碰免费在线播放| 97视频在线观看免费| 日韩精品三区| 999国内精品视频在线| 色天下一区二区三区| 一区二区三区av在线| 亚洲精品系列| 57pao国产成永久免费视频| 成人精品在线视频观看| 人人人妻人人澡人人爽欧美一区| 中文字幕亚洲成人| 日韩欧美成人一区二区三区| 欧美日韩精品是欧美日韩精品| 亚洲美女性生活| 中文字幕亚洲欧美日韩2019| 久久www人成免费看片中文| 国产精品h在线观看| 日韩中文字幕视频网| 日韩一区二区三区资源| 激情六月综合| jizz18女人| 97久久超碰精品国产| 永久免费看片直接| 色婷婷综合久久久| 亚洲xxxx天美| 日韩在线视频国产| 亚洲私拍视频| 国产超碰91| 五月激情综合| 性欧美极品xxxx欧美一区二区| 成人综合激情网| 在线观看黄网址| 一本大道av伊人久久综合| 欧美一级淫片aaaaaa| 久久精品久久久久久国产 免费| 亚洲欧美电影| 国产欧美日韩一区二区三区| 99久久这里只有精品| 国产第一页视频| 99久久婷婷国产综合精品电影 | 狠狠入ady亚洲精品经典电影| 丰满少妇在线观看| 91欧美激情一区二区三区成人| 91人妻一区二区三区蜜臀| 欧美天堂亚洲电影院在线播放| 深夜福利免费在线观看| 欧美精品www| 日韩最新av| 成人在线观看毛片| 裸体在线国模精品偷拍| www亚洲色图| 色一区在线观看| 美女毛片在线看| 欧美中文字幕精品| 人人精品视频| 一区二区传媒有限公司| 波多野结衣精品在线| 国产在线观看你懂的| 日韩精品一区二区三区中文不卡| 美女av在线播放| 91精品国产综合久久香蕉的用户体验 | 中文字幕一区二区三区欧美日韩| 污网站免费在线| 中文无字幕一区二区三区 | 91精品国产乱| 国产激情视频在线| 91久久久久久久久| 亚洲色图欧美| 日韩大尺度视频| 亚洲第一成年网| 日韩在线观看视频一区| 国内免费久久久久久久久久久| 超碰成人在线观看| 妞干网在线播放| 成人h动漫精品一区二区| 日本五十熟hd丰满| 亚洲欧美色图片| 8av国产精品爽爽ⅴa在线观看| 亚洲精品一区二区三区樱花 | 成人av在线天堂| 夜间精品视频| 国产艳妇疯狂做爰视频 | 欧美国产日韩精品免费观看| 樱花视频在线免费观看| 在线观看日韩欧美| 91成人精品观看| www.在线观看av| 91年精品国产| 一区二区三区午夜| 欧美精品18videosex性欧美| 香蕉久久精品| 爱情岛论坛亚洲首页入口章节| 亚洲视频一二三| 少妇人妻偷人精品一区二区| 国产精品av免费在线观看| 午夜久久免费观看| 亚洲欧美日韩偷拍| 欧美四级电影网| 在线中文字幕第一页| 久久国产日韩欧美| 蜜臀av一区二区在线观看| 麻豆91精品91久久久| 亚洲美女www午夜| 亚洲天堂网站| www.av中文字幕| 国产精品久久久久精k8| 亚洲精品无码久久久| 国产成人一区二区三区小说| 亚洲91视频| 熟女俱乐部一区二区| 91精品综合久久久久久| 深夜成人在线| 免费的av在线| 久久久久久久久久美女| 性猛交xxxx乱大交孕妇印度| 国产97在线播放| 国产综合激情| 久久一级免费视频|