有没有办法在条件下使用多种数据类型过滤Python中的列?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有没有办法在条件下使用多种数据类型过滤Python中的列?相关的知识,希望对你有一定的参考价值。

我试图根据数字和分类数据类型过滤列,然后为每个回归问题创建单独的列表。

问题是我无法使用.isin(['object','O'])执行此操作

列列表:

制造商157非null对象

模型157非空对象

Sales_in_thousands 157非null float64

four_year_resale_value 121非null float64

Vehicle_type 157非null对象

Price_in_thousands 155非null float64

Engine_size 156非null float64

马力156非零浮点64

轴距156非null float64

宽度156非null float64

Latest_Launch 157非null对象

Power_perf_factor 155非null float64

我想使用.isin([])来实现它,因为可以在列表中传递多个选项,但它不起作用

Below code doesn't work and I am looking for solutions for this code

df.dtypes.loc[df.dtypes.isin(['object','O'])]

Below code works but I dont like this way of writing code as if there are too many options then this code can get unnecessarily long & messy

df.dtypes.loc[(df.dtypes == ('object')) | (df.dtypes == ('O'))] 

Output:

制造商对象

模型对象

Vehicle_type对象

Latest_Launch对象

答案

有一个方便的助手功能,正是你想要做的,select_dtypes

df.select_dtypes(include=['O'])

df.select_dtypes(exclude=['O'])

以上是关于有没有办法在条件下使用多种数据类型过滤Python中的列?的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法在 Python (3) for 循环中执行条件?

熊猫:考虑多种条件正确过滤数据框列

python pandas - 生成具有多个条件的视图/复制警告过滤数据框

有没有办法将字符串变量传递给 python .loc/.iloc?

在 linq 查询中按条件过滤

为啥 TDengine 数据库在相同的过滤条件下不能返回相同数量的行?