pyspark - 如何在 pyspark 数据帧上应用 nltk.pos_tag
问题描述
我正在尝试在 pyspark 数据框中名为“已删除”的标记化列之一上应用 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
应该是一个字符串,并且您提供一个列输入。您应该pos_tag
使用该功能在列的每一行上应用withColumn
例如,您首先编写:
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()
这里有文档。
推荐阅读
- android - Android AWS sdk 无法上传
- python - 导入时模拟模块全局变量
- crystal-reports - 在水晶报表中的行中复制时如何抑制字段值或将字段值设置为空
- java - 如何通过 Selenium webdriver 和 xpath 找到按钮元素
- ios - TableView 中的 SwiftyJSON 和 Alamofire 数据解析(iOS,Swift 4)
- bash - 工匠键保存到变量
- java - Java 8 Optional.ofNullable.map 产生非静态方法引用错误
- javascript - 显示div选定选项包含特定文本
- c# - 具有奇怪列表问题的复杂 JSON 序列化 - 使用 Json.Net
- c# - Outlook - 只有第一个“getVisible”调用 contextMenu