我想创建一个Dataframe,返回false或true到一个特定的条件,它将取代内置函数 .all
在Pandas身上。我提供了一个预期的结果。提前谢谢!
schema = StructType([
StructField( 'vin', StringType(), True),StructField( 'age', IntegerType(), True),StructField( 'var', IntegerType(), True),StructField( 'rim', IntegerType(), True),StructField( 'cap', IntegerType(), True),StructField( 'cur', IntegerType(), True)
])
data = [['tom', 10,54,87,23,90], ['nick', 15,63,23,11,65], ['juli', 14,87,9,43,21]]
df=spark.createDataFrame(data,schema)
df.show()
>>>
+----+---+---+---+---+---+
| vin|age|var|rim|cap|cur|
+----+---+---+---+---+---+
| tom| 10| 54| 87| 23| 90|
|nick| 15| 63| 23| 11| 65|
|juli| 14| 87| 9| 43| 21|
+----+---+---+---+---+---+
col_2=['age','var','rim']
df=df.select(*col_2)
df.show()
>>>
+---+---+---+
|age|var|rim|
+---+---+---+
| 10| 54| 87|
| 15| 63| 23|
| 14| 87| 9|
+---+---+---+
df=df.filter(F.col(*col_2) ==10)
# Expected outcome:
>>>
+---===+------+------+
|age |var |rim |
+------+------+------+
| True | False| False|
| False| False| False|
| False| False| False|
+------+------+------+
1条答案
按热度按时间zour9fqk1#
您可以对每列进行比较,然后选择所有列。
filter
不需要。