【问题标题】:Python Syntax for loop output [duplicate]循环输出的Python语法[重复]
【发布时间】: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


【解决方案1】:

总结:它返回一个包含缺失值的列名的list

说明:

  • X_train[col].isnull():返回一个 series 的 True、False 值。
  • X_train[col].isnull().any():返回一个标量值,即 True 或 False

【讨论】:

    猜你喜欢
    • 2013-07-30
    • 2013-06-14
    • 1970-01-01
    • 1970-01-01
    • 2015-11-27
    • 2016-02-03
    • 2017-10-25
    • 2017-08-26
    • 1970-01-01
    相关资源
    最近更新 更多