pandas:get_dummies()與pd.factorize()的用法及區(qū)別說明
1.get_dummies()
pandas.get_dummies(data, prefix=None, prefix_sep='_', dummy_na=False, columns=None,sparse=False, drop_first=False):Convert categorical variable into dummy/indicator variables
>>> import pandas as pd
>>> s = pd.Series(list('abca'))
>>> pd.get_dummies(s)
a b c
0 1 0 0
1 0 1 0
2 0 0 1
3 1 0 0
2.pd.factorize()
pandas.factorize(values, sort=False, order=None, na_sentinel=-1,size_hint=None):Encode input values as an enumerated type or categorical variable
Series.factorize(sort=False, na_sentinel=-1):Encode the object as an enumerated type or categorical variable
Pandas有一個方法叫做factorize(),它可以創(chuàng)建一些數字,來表示類別變量,對每一個類別映射一個ID,這種映射最后只生成一個特征,不像dummy那樣生成多個特征。
| Parameters: |
sort : boolean, default False
na_sentinel: int, default -1
|
|---|---|
| Returns: |
labels : the indexer to the original array uniques : the unique Index |
labels:對應的編碼array
uniques:需要編碼的類型
補充:pandas.get_dummies 的使用及含義
get_dummies 是利用pandas實現one hot encode的方式
get_dummies參數如下:
pandas.get_dummies(data,prefix = None,prefix_sep ='_',dummy_na = False,columns = None,sparse = False,drop_first = False,dtype = None )
data : array-like,Series或DataFrame
prefix :string,字符串列表或字符串dict,默認為None,
用于追加DataFrame列名的字符串。在DataFrame上調用get_dummies時,傳遞一個長度等于列數的列表?;蛘?,前綴 可以是將列名稱映射到前綴的字典。
prefix_sep : string,默認為'_'
如果附加前綴,分隔符/分隔符要使用?;蛘邆鬟f與前綴一樣的列表或字典。
dummy_na : bool,默認為False
如果忽略False NaN,則添加一列以指示NaN。
columns : 類似列表,默認為無
要編碼的DataFrame中的列名稱。如果列是None,那么所有與列 對象或類別 D型細胞將被轉換。
sparse : bool,默認為False
偽編碼列是否應由SparseArray(True)或常規(guī)NumPy數組(False)支持。
drop_first : bool,默認為False
是否通過刪除第一級別從k分類級別獲得k-1個假人。
版本0.18.0中的新功能。
dtype: D型,默認np.uint8
新列的數據類型。只允許一個dtype。
版本0.23.0中的新功能。
實例

prefix自定義前綴

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Python和perl實現批量對目錄下電子書文件重命名的代碼分享
這篇文章主要介紹了Python和perl實現批量對目錄下電子書文件重命名的代碼分享,本文同時給出了Python和perl兩種語言的實現代碼,需要的朋友可以參考下2014-11-11
Python中的Socket 與 ScoketServer 通信及遇到問題解決方法
Socket有一個緩沖區(qū),緩沖區(qū)是一個流,先進先出,發(fā)送和取出的可自定義大小的,如果取出的數據未取完緩沖區(qū),則可能存在數據怠慢。本文通過實例代碼給大家介紹Python中的Socket 與 ScoketServer 通信及遇到問題解決方法 ,需要的朋友參考下吧2019-04-04
python中tf.boolean_mask()函數的使用方法詳解
這篇文章主要介紹了python中tf.boolean_mask()函數的使用方法詳解,?tf.boolean_mask()?函數的作用是通過布爾值對指定的列的元素進行過濾,需要的朋友可以參考下2023-11-11

