Я хочу отфильтровать DataFrame
, используя условие, связанное с длиной столбца, этот вопрос может быть очень простым, но я не нашел никакого связанного вопроса в SO.
Более конкретно, у меня есть DataFrame
только с одним Column
, который из ArrayType(StringType())
, я хочу отфильтровать DataFrame
с использованием длины в качестве фильтра, я снял сниппет ниже.
df = sqlContext.read.parquet("letters.parquet")
df.show()
# The output will be
# +------------+
# | tokens|
# +------------+
# |[L, S, Y, S]|
# |[L, V, I, S]|
# |[I, A, N, A]|
# |[I, L, S, A]|
# |[E, N, N, Y]|
# |[E, I, M, A]|
# |[O, A, N, A]|
# | [S, U, S]|
# +------------+
# But I want only the entries with length 3 or less
fdf = df.filter(len(df.tokens) <= 3)
fdf.show() # But it says that the TypeError: object of type 'Column' has no len(), so the previous statement is obviously incorrect.
Я прочитал Документацию по столбцам, но не нашел полезного для этого свойства. Я ценю любую помощь!