python - 是否有用于查找数字和分类列的 python 函数?
问题描述
从 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
我正在寻找一种有效且更好的方法来做到这一点。任何建议或参考将不胜感激。
解决方案
您可以通过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
推荐阅读
- html - 图像轮播不会在 Clickfunnel 上居中对齐
- php - 如何使用 laravel 迁移向现有键添加约束
- pdf - pdf-lib.js:有没有办法实现 PDFTextField 的默认值?
- c# - 在 WindowsFormHost 前面设置 wpf 旋转轮元素
- node.js - 无法运行 npm start,它显示 npm ERR!代码生命周期
- sql - 参考另一个表更新 SQL Server 列
- python - 从需要偏向中心的矩形采样
- c# - 如何在 cookie 中传递访问令牌?
- odata - 使用 IN 运算符 OData 4.0 “Bad Request” FetchXML Builder xrmtoolbox
- pyspark - 如何修复 Impala 中不兼容的 Parquet 架构错误