【问题标题】:How could I get columns that meet a condition from a dataframe in pyspark?如何从 pyspark 中的数据框中获取满足条件的列?
【发布时间】:2017-10-23 12:42:17
【问题描述】:

我有一个具有不同列(或属性)的数据框,我想获取另一个数据框,其中仅包含那些具有超过 6 个不同值的列。

我怎么能得到它?

【问题讨论】:

    标签: python sql filter attributes pyspark


    【解决方案1】:

    下面的 sn-p 满足您的要求。示例数据集包含三列(col1、col2、col3)。 col3 只有一个唯一值 3,而 col1 和 col2 有 6 个不同的值。最终的数据框只有 co11 和 col2。

    df = spark.createDataFrame([(1,2,3),(10,20,3),(20,40,3),(40,50,3),(50,60,3),(60,70,3)],['col1','col2','col3'])
    columns = [ column for column in df.columns if len(df.select(column).distinct().collect()) >= 6 ]
    >>> df.select(columns).show()
    +----+----+
    |col1|col2|
    +----+----+
    |   1|   2|
    |  10|  20|
    |  20|  40|
    |  40|  50|
    |  50|  60|
    |  60|  70|
    +----+----+
    

    【讨论】:

    • 谢谢!这正是我所需要的!
    猜你喜欢
    • 2018-03-10
    • 2014-11-23
    • 2018-10-06
    • 1970-01-01
    • 1970-01-01
    • 2018-09-06
    • 1970-01-01
    • 2021-10-13
    • 2013-09-10
    相关资源
    最近更新 更多