一、背景
近期想對比兩個不同數據集的數據分布時,遇到一個問題:數據集同時包括離散、連續、時間等不同類型特征。
使用 seaborn.kdeplot
報錯,僅只能針對數值型特征進行統計。
遂誕生一個需求:針對數據框,篩選指定數據類型的列。
二、select_dtypes介紹
使用語法為:
data.select_dtypes(include=['object'], exclude=['float64'])
- include -- 符合類型
- exclude -- 排除類型
可以單獨使用參數,也可以結合使用,返回的是符合篩選后的數據框。
data.select_dtypes(include=['object']).columns
返回列名。
參數選擇有:
數字:number、int、float
buer:bool
時間:datetime64
類別:category
字符串:string
對象:object
三、實操
df.select_dtypes(include=['object'])
df.select_dtypes(include=['object', 'float'])
df.select_dtypes(exclude='object')
四、手動選取
df.loc[:, (df.dtypes == 'float64').values]
五、類型智能轉換
df = df.convert_dtypes()
參考鏈接:pandas選取指定數據類型的列