如何删除 pandas 数据框中的分类列?

How to drop categorical columns in pandas dataframe?

我有一个 df,其中总共有 60 列和 4 个分类列,我想做一个循环来检查哪些是数字列。如果它们不是数字,我想放弃它。我做了下面的循环,但这只删除了一个分类列,其余的保持原样。你能告诉我我做错了什么以及我如何改进我的解决方案吗?

谢谢!

numeric = modified_df._get_numeric_data().columns
for x in modified_df.columns:
    for y in numeric:
        if x == y:
            print(x)
        else:
            dropped_df = modified_df.drop('x', axis = 1)
            dropped_df

您可以使用 select_dtypes:

df_new = df.select_dtypes(exclude='category')