如何在 pyspark 数据帧上应用 nltk.pos_tag
How to apply nltk.pos_tag on pyspark dataframe
我正在尝试在 pyspark 数据帧中名为 "removed" 的标记化列之一应用 pos 标记。
我正在尝试
nltk.pos_tag(df_removed.select("removed"))
但我得到的只是值错误:ValueError: Cannot apply 'in' operator against a column: please use 'contains' in a string column or 'array_contains' function for an array column.
我怎样才能做到?
似乎答案在错误消息中:pos_tag
的输入应该是一个字符串,并且您提供了一个列输入。您应该使用函数 withColumn
在列的每一行上应用 pos_tag
例如你开始写:
my_new_df = df_removed.withColumn("removed", nltk.pos_tag(df_removed.removed))
你也可以这样做:
my_new_df = df_removed.select("removed").rdd.map(lambda x: nltk.pos_tag(x)).toDF()
Here 你有文档。
我正在尝试在 pyspark 数据帧中名为 "removed" 的标记化列之一应用 pos 标记。
我正在尝试
nltk.pos_tag(df_removed.select("removed"))
但我得到的只是值错误:ValueError: Cannot apply 'in' operator against a column: please use 'contains' in a string column or 'array_contains' function for an array column.
我怎样才能做到?
似乎答案在错误消息中:pos_tag
的输入应该是一个字符串,并且您提供了一个列输入。您应该使用函数 withColumn
pos_tag
例如你开始写:
my_new_df = df_removed.withColumn("removed", nltk.pos_tag(df_removed.removed))
你也可以这样做:
my_new_df = df_removed.select("removed").rdd.map(lambda x: nltk.pos_tag(x)).toDF()
Here 你有文档。