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