【发布时间】:2021-12-19 18:40:10
【问题描述】:
我有一个 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
【问题讨论】:
-
您在
drop语句中引用了 x,因此它只会删除名为 x 的列 -
另外,您只是在循环范围内创建它
标签: python dataframe jupyter-notebook