快速进行OneHot编码——get_dummies()函数
當(dāng)我們的數(shù)據(jù)中出現(xiàn)的離散的類別信息時(shí),我們通常將其轉(zhuǎn)化為onehot編碼形式,以便于對(duì)于我們的模型能有更好的效果。
此處主要介紹的是pandas庫中的一個(gè)函數(shù)——get_dummies(),它能直接將我們需要轉(zhuǎn)換的列直接進(jìn)行轉(zhuǎn)換,下面來具體介紹:
1.參數(shù)說明
pandas.get_dummies(data, prefix=None, prefix_sep='_', dummy_na=False, columns=None, sparse=False, drop_first=False)data:array-like, Series, or DataFrame
用來獲得虛擬指標(biāo)的數(shù)據(jù)。
prefix:str, list of str, or dict of str, default None
添加DataFrame列名的字符串。在DataFrame上調(diào)用get_dummies函數(shù)時(shí),傳遞一個(gè)長(zhǎng)度等于列數(shù)的列表。或者,前綴可以是一個(gè)將列名映射到前綴的字典。
prefix_sep:str, default ‘_’
如果附加前綴,分隔符/分隔符使用。或者像前綴一樣傳遞列表或字典。
dummy_na:bool, default False
如果忽略False NaNs,則添加一列來指示 NaNs。
columns:list-like, default None
要編碼的DataFrame中的列名。如果columns為None,那么所有具有對(duì)象或類別dtype的列將被轉(zhuǎn)換。
sparse:bool, default False
偽編碼列是否應(yīng)該由(True)或常規(guī)NumPy數(shù)組支持(False)
drop_first:bool, default False
是否通過刪除第一個(gè)級(jí)別將k-1個(gè)假人從k個(gè)分類級(jí)別中移除。
dtype:dtype, default? np.uint8
新列的數(shù)據(jù)類型。只允許一個(gè)dtype。
Returns? ? ? ?DataFrame?
? ? ? ? ? ? ? ? ? ? ? ? Dummy-coded data.
以上對(duì)參數(shù)的解釋均來自padnas官方文檔
2.實(shí)例代碼說明?
數(shù)據(jù)集如下:
?可以看到里面的season、holiday、workingday、weather都為離散的數(shù)據(jù),故在此處進(jìn)行OneHot編碼:
# 選取我們所需要的列名 column = ['season','holiday','workingday','weather'] # 一個(gè)一個(gè)的進(jìn)行處理,并連接到數(shù)據(jù)集的后面 for i in column:x =pd.get_dummies(data[i],prefix= i)data=pd.concat([data,x],axis=1) # 顯示轉(zhuǎn)換后的數(shù)據(jù) data.head()運(yùn)行結(jié)果:
?(此處我并未將轉(zhuǎn)換前的數(shù)據(jù)進(jìn)行刪除)
總結(jié)
以上是生活随笔為你收集整理的快速进行OneHot编码——get_dummies()函数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微课制作笔记01
- 下一篇: 什么软件测试笔记本硬盘读写,驱动精灵怎么