精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

成人小说亚洲一区二区三区| 国产精品1区2区3区4区| 成人免费一区二区三区牛牛| 成人动漫av在线| 日本国产欧美一区二区三区| 中文天堂资源在线| 99国产精品免费网站| 欧美日韩国产一区在线| 亚洲一区美女| 天天操天天干天天舔| 奇米影视一区二区三区小说| 久久91亚洲精品中文字幕| 免费在线观看你懂的| 日本欧美不卡| 奇米777日韩| 麻豆久久久久久| 久久久亚洲精选| 综合 欧美 亚洲日本| 国内精品免费| 91精品国产黑色紧身裤美女| 92看片淫黄大片一级| 成人免费看片| 欧美国产精品专区| 精品不卡一区二区三区| 国产精品久久久久久免费| 新狼窝色av性久久久久久| 久久亚洲春色中文字幕| 国产熟女一区二区| 欧美精品中文| 精品久久国产字幕高潮| 免费在线观看污网站| 国偷自产一区二区免费视频| 亚洲专区一二三| 做爰高潮hd色即是空| 精品久久av| 99国产精品久| 国产精品一区视频| 国产日本精品视频| 久草这里只有精品视频| 国产精品露脸自拍| 日韩精品久久久久久免费| 国产综合自拍| 中文字幕日韩欧美在线视频| 91精品人妻一区二区三区蜜桃欧美| 亚洲欧美专区| 婷婷丁香激情网| 亚洲乱熟女一区二区| 国内精品国产成人| 国产日韩欧美综合| 在线不卡免费视频| 日产欧产美韩系列久久99| 欧美性在线视频| 国产成人无码精品亚洲| 激情综合自拍| 性色av一区二区三区在线观看| 精品欧美一区二区久久久久| 希岛爱理一区二区三区| 久久天天躁狠狠躁夜夜躁| 免费看一级黄色| 欧美成人激情| 久久精品视频99| 91久久国产综合| 综合一区在线| 欧美国产第二页| 国产一级一片免费播放放a| 激情视频一区| 81精品国产乱码久久久久久| 国产原创视频在线| 狂野欧美性猛交xxxx巴西| 国产精品看片资源| 99热这里只有精品9| 国产精品正在播放| 国产超碰91| 亚洲av成人无码久久精品老人 | 91精品国产高清| 日本天堂网在线| 日韩成人av影视| 91精品久久久久久久久中文字幕| 国产乱淫av片免费| 国产成人99久久亚洲综合精品| 国产精品yjizz| 欧美在线观看在线观看| 久久久国产精品麻豆| 一卡二卡3卡四卡高清精品视频| 免费a级人成a大片在线观看| 一区二区激情小说| 国产精品欧美激情在线观看| 欧美网站免费| 精品国产麻豆免费人成网站| 人妻少妇一区二区| 天天天综合网| 91精品91久久久久久| 亚洲高清视频免费观看| 国产麻豆精品theporn| 精品国产乱码久久久久久蜜柚 | 中文一区在线播放| 欧美三级午夜理伦三级老人| 第一福利在线视频| 欧美视频精品在线观看| 中文字幕一二三| 自拍偷拍精品| 欧美精品中文字幕一区| 亚洲欧美综合自拍| 国产乱色国产精品免费视频| 欧美理论一区二区| 特级毛片在线| 欧美午夜精品免费| 午夜视频在线观看国产| 欧美激情黄色片| 51ⅴ精品国产91久久久久久| 国产精品久久婷婷| 国产亚洲一二三区| 青青草成人免费在线视频| 黄色精品视频网站| 亚洲精品美女久久| 欧美日韩精品在线观看视频 | 欧美性精品220| 久久久久亚洲av无码麻豆| 精品国产1区| 亚州精品天堂中文字幕| 一级做a爱片久久毛片| www久久精品| 青草青青在线视频| 日韩一区二区三区精品视频第3页| 亚洲精品视频免费| 国产在线视频99| 国产美女主播视频一区| 亚洲国产精品一区二区第一页| 91桃色在线观看| 欧美一区二区三区爱爱| 成人免费视频入口| 日韩国产在线一| 日本不卡二区| 在线观看v片| 亚洲国产欧美一区二区丝袜黑人| 欧美成人免费看| 激情欧美日韩一区二区| 亚洲午夜在线观看| a屁视频一区二区三区四区| 亚洲人成伊人成综合网久久久| 日韩欧美亚洲视频| 成人动漫精品一区二区| 欧美午夜小视频| 国产精品视频3p| 久久久久久久久久久av| 丰满人妻一区二区三区免费| 一区二区三区免费看视频| 免费人成视频在线播放| 欧美国产精品| www.成人三级视频| 国产乱码在线| 精品国产免费久久| 日韩男人的天堂| 99re这里只有精品首页| 欧美丰满熟妇bbbbbb百度| 九九热播视频在线精品6| 97视频在线观看成人| 五月天久久久久久| 日韩欧美在线观看视频| 性欧美精品男男| 久久精品国产99国产精品| 一区二区三区偷拍| 日韩欧美中文字幕一区二区三区| 欧美精品制服第一页| 欧美一区二区三区激情| 午夜在线电影亚洲一区| 国产三级国产精品| 男人的天堂亚洲一区| 中文字幕日韩一区二区三区不卡| 999精品视频在线观看| 欧美日韩福利电影| 香蕉视频国产在线| 在线看国产日韩| 精品无码久久久久成人漫画| 成人午夜在线免费| 男人亚洲天堂网| 国产精品久久久久久| 99热在线国产| 欧美日韩国产v| 日韩少妇与小伙激情| 国产刺激高潮av| 欧洲精品一区二区三区在线观看| 日本一级片免费| jlzzjlzz国产精品久久| 午夜激情在线观看视频| 女同性一区二区三区人了人一 | 亚洲成精国产精品女| 人人人妻人人澡人人爽欧美一区| 精品一区二区影视| 18禁免费观看网站| 欧美xxxxx视频| 九九99玖玖| 色综合一区二区日本韩国亚洲| 久久人人看视频| 91精品国产91久久久久游泳池 | 天堂地址在线www| 亚洲第一av在线| 中文字幕在线观看第二页| 亚洲一区二区精品视频| 少妇愉情理伦三级| 99久久久精品| 天天色天天综合网| 久久蜜桃资源一区二区老牛| 51xx午夜影福利| 精品国产一区一区二区三亚瑟| 成人自拍爱视频| 久久福利在线| 日本欧美国产在线| 麻豆av在线免费观看| 色妞欧美日韩在线| 精品影院一区| 亚洲国产精品久久久久秋霞蜜臀| 一级黄色片在线播放| 色综合久久中文字幕| 久久久全国免费视频| 国产精品国产自产拍高清av王其| 无码人妻aⅴ一区二区三区| 国产米奇在线777精品观看| 亚洲男人天堂色| 国产一级久久| 欧美一级欧美一级| 在线中文字幕亚洲| 亚洲亚洲精品三区日韩精品在线视频| 久操成人av| 精品在线观看一区二区| 精品国产午夜肉伦伦影院| 91成人免费看| 在线免费成人| 国产精品免费电影| 无遮挡爽大片在线观看视频| 欧美激情女人20p| 色婷婷av在线| 欧美成人亚洲成人| а√天堂8资源在线官网| 丝袜亚洲欧美日韩综合| 国产免费视频在线| 亚洲热线99精品视频| 男人av在线| 日韩黄色av网站| 色吊丝在线永久观看最新版本| 亚洲第一视频在线观看| 狠狠综合久久av一区二区| 欧美不卡在线视频| 亚洲第一第二区| 精品国产91九色蝌蚪| 韩国av免费在线观看| 精品国产一区二区亚洲人成毛片| 国产99久一区二区三区a片| 欧美一区二区三区四区在线观看| 97人妻一区二区精品免费视频| 欧美日韩精品免费| 国产日本精品视频| 欧美成人三级电影在线| 日本人妻熟妇久久久久久 | 午夜视频在线免费观看| 综合国产在线观看| 欧美精品videos另类| 久久色在线播放| 天堂亚洲精品| 2023亚洲男人天堂| 二吊插入一穴一区二区| 国产精品美女无圣光视频| 日韩一级特黄| αv一区二区三区| 美女av一区| 欧美一区亚洲二区| 欧美1级片网站| 裸体大乳女做爰69| 亚洲国产精品一区| 免费日韩视频在线观看| 日本中文在线一区| 日本少妇一区二区三区| 99久久婷婷国产综合精品电影| 三上悠亚影音先锋| 亚洲欧洲精品一区二区三区不卡| 欧美成人精品欧美一级私黄| 婷婷六月综合网| 国产亚洲久一区二区| 69久久99精品久久久久婷婷| 精品人妻一区二区三区含羞草 | 国产精品国产三级国产专区53 | 成人在线免费观看av| 日韩成人伦理电影在线观看| 午夜激情影院在线观看| 波多野结衣亚洲一区| 日本免费www| 一个色综合网站| 欧美男人天堂网| 欧美成人一区二区三区在线观看| 欧美色视频免费| 精品国产一区二区三区久久狼5月| aa视频在线观看| 国产欧美精品一区二区| 欧美黄色影院| 青青在线免费视频| 三级影片在线观看欧美日韩一区二区| 超碰在线超碰在线| 久久精品这里都是精品| 久久久久久免费观看| 欧美自拍丝袜亚洲| 天天操天天插天天射| 久久精品国产综合| 偷拍精品精品一区二区三区| 91成人在线看| 色综合久久网| 男女午夜激情视频| 成人午夜视频福利| 日本少妇aaa| 色中色一区二区| 色一情一乱一区二区三区| 久久精品国产一区| 国产a亚洲精品| 欧美精品欧美精品系列c| 欧美视频福利| 伊人免费视频二| 国产精品午夜免费| 在线观看日本网站| 亚洲激情自拍图| 美足av综合网| 亚洲一区二区三区视频| 久久国产中文字幕| 久久精品网站视频| 久久免费国产精品 | 欧美视频中文字幕| 瑟瑟在线观看| 97精品一区二区三区| 日韩中文字幕| 国产对白在线播放| 久久99精品久久久久久| 成人小视频免费看| 在线免费观看一区| 国产在线黄色| 国产精品国产福利国产秒拍| 天堂av一区二区三区在线播放| 久无码久无码av无码| 高清不卡在线观看av| 欧美成人黄色网| 日韩精品一区二区三区在线播放 | 国产精品扒开腿做爽爽爽的视频| 欧美午夜寂寞| 国产精品一区二区免费在线观看| 成人动漫av在线| 五月天综合激情| 亚洲精品wwww| 亚洲欧洲日本韩国| 欧美日韩国产不卡在线看| 久久久久91| 亚洲色成人网站www永久四虎| 91国产成人在线| √天堂资源地址在线官网| 国产区亚洲区欧美区| 国产精品videosex性欧美| 一级淫片在线观看| 亚洲精品亚洲人成人网在线播放| 精品久久在线观看| 久久露脸国产精品| 亚洲精品进入| 亚洲最大综合网| 亚洲色图在线视频| 亚洲国产综合一区| 91成人在线视频| 欧美日韩亚洲在线观看| av在线网址导航| 亚洲一区在线观看网站| 亚洲欧洲国产综合| 国产精品狼人色视频一区| 亚洲成人精品| 亚洲少妇一区二区三区| 日韩欧美在线视频免费观看| 黄色片在线免费观看| 国产欧美久久久久久| 亚洲激情中文在线| av免费观看不卡| 欧洲日韩一区二区三区| av在线播放观看| 久久精品日产第一区二区三区 | 欧美体内she精高潮| 亚洲国产精品一区二区久久 | 国产午夜福利在线播放| 国产欧美日韩在线| av观看在线免费| 欧美一级免费视频| 91精品推荐| 97香蕉碰碰人妻国产欧美| 欧美视频一二三区| 黄色小说在线播放| 性欧美videosex高清少妇| 国产精品资源站在线| 国产www在线| 欧美精品少妇videofree| 精品国产一区二区三区av片| 波多野结衣网页| 91福利视频网站| 丰满诱人av在线播放| 深夜福利成人| eeuss影院一区二区三区| 亚洲综合一区中| 国产91精品久久久久| 欧美三级午夜理伦三级中文幕| 亚洲一区二区三区蜜桃|