您好,登錄后才能下訂單哦!
這篇文章主要介紹了pandas中如何創(chuàng)建category類型數(shù)據(jù),具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
T1、直接創(chuàng)建 category類型數(shù)據(jù)
可知,在category類型數(shù)據(jù)中,每一個元素的值要么是預設好的類型中的某一個,要么是空值(np.nan)。
T2、利用分箱機制(結合max、mean、min實現(xiàn)二分類)動態(tài)添加 category類型數(shù)據(jù)
輸出結果
[NaN, 'medium', 'medium', 'fat']
Categories (2, object): ['medium', 'fat']
name ID age age02 ... weight test01 test02 age02_mark
0 Bob 1 NaN 14 ... 140.5 1.000000 1.000000 Minors
1 LiSa 2 28 26 ... 120.8 2.123457 2.123457 Adults
2 Mary 38 24 ... 169.4 3.123457 3.123457 Adults
3 Alan None 6 ... 155.6 4.123457 4.123457 Minors
[4 rows x 12 columns]
實習代碼
import pandas as pd import numpy as np contents={"name": ['Bob', 'LiSa', 'Mary', 'Alan'], "ID": [1, 2, ' ', None], # 輸出 NaN "age": [np.nan, 28, 38 , '' ], # 輸出 "age02": [14, 26, 24 , 6], "born": [pd.NaT, pd.Timestamp("1990-01-01"), pd.Timestamp("1980-01-01"), ''], # 輸出 NaT "sex": ['男', '女', '女', None,], # 輸出 None "hobbey":['打籃球', '打羽毛球', '打乒乓球', '',], # 輸出 "money":[200.0, 240.0, 290.0, 300.0], # 輸出 "weight":[140.5, 120.8, 169.4, 155.6], # 輸出 "test01":[1, 2.123456789, 3.123456781011126, 4.123456789109999], # 輸出 "test02":[1, 2.123456789, 3.123456781011126, 4.123456789109999], # 輸出 } data_frame = pd.DataFrame(contents) # T1、直接創(chuàng)建 category類型數(shù)據(jù) weight_mark=pd.Categorical(['thin','medium','medium','fat'],categories=['medium','fat']) print(weight_mark) # T2、利用分箱機制(結合max、mean、min實現(xiàn)二分類)動態(tài)添加 category類型數(shù)據(jù) col_age_des=pd.Series(data_frame['age02']).describe() age_ranges=[col_age_des['min']-1,col_age_des['mean'],col_age_des['max']+1] age_labels=['Minors','Adults'] # 高于平均值的為胖 data_frame['age02_mark']=pd.cut(data_frame['age02'],age_ranges,labels=age_labels) print(data_frame)
感謝你能夠認真閱讀完這篇文章,希望小編分享的“pandas中如何創(chuàng)建category類型數(shù)據(jù)”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業(yè)資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。