【发布时间】:2020-04-18 12:24:19
【问题描述】:
这段代码有什么作用?我知道它正在运行一个 for 循环,检查每个数组元素的空值。我不明白为什么有 2 个函数:isnull & any。另外,“for”之前的 col 有什么作用?看起来 for 循环可以返回可迭代对象并且正在创建一个元组。是在 Python 文档中吗?
cols_with_missing = [col for col in X_train.columns
if X_train[col].isnull().any()]
【问题讨论】:
-
您可以手动探索它的作用。而不是列表理解中的
col for col in X_train.columns,只需选择任何列名,例如'乙'。然后亲自看看X_train['B'].isnull()返回什么。 -
虽然列表推导是 Python 的核心功能,但数据框不是。这个问题基本上太宽泛了(三个问题合二为一),读者必须猜对几件事才能正确理解它(而且一个似乎含糊其辞的标题也无济于事)。我希望所选的副本能帮助您解决问题;如果没有,您可能应该在help center 上花一些时间,然后再尝试提出更好的问题。另请注意,与基于列表的方法相比,Pandas 通常更喜欢矢量化操作。
-
[col for col in X_train.columns ... ]- 这是 Python,它是列表理解。一种从另一个列表或某种项目集合生成新列表的方法。
标签: python