【发布时间】:2020-08-08 01:31:48
【问题描述】:
features_with_na=[features for features in df_main.columns if df_main[features].isna().sum()>1]
这个列表理解应该给我所有缺少值的列。执行时出现以下错误-
ValueError Traceback (most recent call last)
<ipython-input-26-0878dbe5183a> in <module>()
----> 1 features_with_na=[features for features in df_main.columns if df_main[features].isna().sum()>1]
1 frames
/usr/local/lib/python3.6/dist-packages/pandas/core/generic.py in __nonzero__(self)
1477 def __nonzero__(self):
1478 raise ValueError(
-> 1479 f"The truth value of a {type(self).__name__} is ambiguous. "
1480 "Use a.empty, a.bool(), a.item(), a.any() or a.all()."
1481 )
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
有什么想法吗?
【问题讨论】:
-
错误信息不是说要把
df_main[features].isna().sum()>1改成df_main[features].isna().any()吗? -
在 python 3.7.6 和 pandas 1.0.1 中运行良好。但是为什么要列出理解呢?就做
df.columns[df.isna().sum() > 1]
标签: python pandas dataframe dataset list-comprehension