亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

是否有用于查找數字列和分類列的 python 函數?

是否有用于查找數字列和分類列的 python 函數?

一只斗牛犬 2023-07-11 15:12:41
在Python中從pandas數據框中分割/返回分類列和數字列的有效方法是什么?到目前為止,我正在使用以下函數來查找分類列和數字列。def returnCatNumList(df):        object_cols = list(df.select_dtypes(exclude=['int', 'float', 'int64', 'float64',                                                  'int32', 'float32', 'int16', 'float16']).columns)    numeric_cols = list(df.select_dtypes(include=['int', 'float', 'int64', 'float64',                                                   'int32', 'float32', 'int16', 'float16']).columns)    return object_cols, numeric_cols我正在尋找一種有效且更好的方法來做到這一點。任何建議或參考將不勝感激。
查看完整描述

3 回答

?
繁華開滿天機

TA貢獻1816條經驗 獲得超4個贊

您可以通過np.number數字列表來簡化您的答案dtype:


def returnCatNumList(df):

? ??

? ? object_cols = list(df.select_dtypes(exclude=np.number).columns)

? ? numeric_cols = list(df.select_dtypes(include=np.number).columns)


? ? return object_cols, numeric_cols

另一個想法是numeric_cols使用Index.difference


def returnCatNumList(df):

? ??

? ? object_cols = list(df.select_dtypes(exclude=np.number).columns)

? ? numeric_cols = list(df.columns.difference(object_cols, sort=False))


? ? return object_cols, numeric_cols


查看完整回答
反對 回復 2023-07-11
?
開心每一天1111

TA貢獻1836條經驗 獲得超13個贊

您可以通過簡單地使用對象數據類型來做到這一點


def returnCatNumList(df):

    

    object_cols = df.select_dtypes(include="object").columns.tolist()

    numeric_cols = df.select_dtypes(exclude="object").columns.tolist()


    return object_cols, numeric_cols


查看完整回答
反對 回復 2023-07-11
?
慕容3067478

TA貢獻1773條經驗 獲得超3個贊

我們還可以使用pandas types API,它允許我們交互和操作數據類型

def returnCatNumList(df):

? ? object_cols = []

? ? numeric_cols? = []


? ? for label, content in df.items():

? ? ? ? if pd.api.types.is_string_dtype(content):

? ? ? ? ? ? numeric_cols.append(label)

? ? ? ? else:

? ? ? ? ? ? object_cols.append(label)

? ? return object_cols, numeric_cols

例子:


iris = sns.load_dataset('iris')


object_cols, numeric_cols = returnCatNumList(iris)


print(object_cols)

print(numeric_cols)

輸出:


>>> ['sepal_length', 'sepal_width', 'petal_length', 'petal_width']


>>> ['species']


查看完整回答
反對 回復 2023-07-11
  • 3 回答
  • 0 關注
  • 213 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號