如何讓 Pandas 按數(shù)據(jù)類型選擇列?
Pandas 百問百答第 014 篇。
有時(shí)候,df 里包含了不同的數(shù)據(jù)類型,比如,文本、日期、整數(shù)、小數(shù),如果需要篩選出某一類型的幾列,怎么整?
呆鳥也不賣關(guān)子,直接說(shuō), pandas 的 df 提供了 select_dtypes 函數(shù),可以按數(shù)據(jù)類型選擇 df 的列。該函數(shù)包含 include 與 exclude 參數(shù):
include表示包含哪種類型,輸出結(jié)果是包含該類型的 df;exclude表示排除哪種類型,輸出結(jié)果是不包含該類型的 df;包含或排除的類型可以是多種,用列表顯示,如
include=['float64','int64'];
示例代碼:
df = pd.DataFrame({'a': [1, 2] * 3,
'b': [True, False] * 3,
'c': [1.0, 2.0] * 3})
# 輸出包含 bool 數(shù)據(jù)類型的列
df.select_dtypes(include='bool')
# 輸出包含小數(shù)數(shù)據(jù)類型的列
df.select_dtypes(include=['float64'])
# 輸出排除整數(shù)的列
df.select_dtypes(exclude=['int64'])
數(shù)據(jù)類型說(shuō)明
選擇所有數(shù)字類型的列,用
np.number或'number'選擇字符串類型的列,必須用
object,注意,這將返回所有數(shù)據(jù)類型為object的列選擇日期時(shí)間類型的列,用
np.datetime64、'datetime'或'datetime64'選擇 timedelta 類型的列,用
np.timedelta64、'timedelta'或'timedelta64'選擇 category 類型類別,用
'category'選擇 datetimetz 類型的列,用
'datetimetz'或'datetime64[ns, tz]'
好了,本篇比較簡(jiǎn)單,但也容易讓人忽略,現(xiàn)在你知道怎么按數(shù)據(jù)類型選擇 df 中的列了嗎?
本文譯自 pandas 官檔,在官檔中搜索 select_dtypes ,即可找到原文。

