pyspark:按内部值的长度筛选行
我有一个PySpark数据框架,其中有一列包含Python列表pyspark:按内部值的长度筛选行,pyspark,Pyspark,我有一个PySpark数据框架,其中有一列包含Python列表 id value 1 [1,2,3] 2 [1,2] 我想删除value列中列表中len小于3的所有行 所以我试着: df.filter(len(df.value)>=3) 事实上,这是行不通的 如何根据内部数据的长度筛选数据帧?请参阅此- size()-返回存储在列中的数组或映射的长度 from pyspark.sql.functions import size myValues = [(1,[1,2,3]),(2,[1,2])
id value
1 [1,2,3]
2 [1,2]
我想删除value
列中列表中len
小于3的所有行
所以我试着:
df.filter(len(df.value)>=3)
事实上,这是行不通的
如何根据内部数据的长度筛选数据帧?请参阅此-
size()
-返回存储在列中的数组或映射的长度
from pyspark.sql.functions import size
myValues = [(1,[1,2,3]),(2,[1,2])]
df = sqlContext.createDataFrame(myValues,['id','value'])
df.show()
+----+---------+
| id| value|
+--------------+
| 1| [1,2,3]|
| 2| [1,2]|
+----+---------+
df = df.filter(size(df.value) >= 3).show()
+----+---------+
| id| value|
+--------------+
| 1| [1,2,3]|
+----+---------+