Python 如何从pyspark中的数据帧中获取满足条件的列?
我有一个具有不同列(或属性)的数据帧,我想得到另一个数据帧,它只包含那些具有6个以上不同值的列Python 如何从pyspark中的数据帧中获取满足条件的列?,python,sql,filter,attributes,pyspark,Python,Sql,Filter,Attributes,Pyspark,我有一个具有不同列(或属性)的数据帧,我想得到另一个数据帧,它只包含那些具有6个以上不同值的列 我怎样才能得到它?下面的代码片段满足了您的要求。示例数据集有三列(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','c
我怎样才能得到它?下面的代码片段满足了您的要求。示例数据集有三列(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|
+----+----+
下面的代码片段满足了您的要求。示例数据集有三列(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|
+----+----+
谢谢这正是我需要的!谢谢这正是我需要的!