【发布时间】:2020-09-25 01:30:06
【问题描述】:
我正在尝试仅从名称列中提取产品 以下。我正在努力寻找适用于此的正则表达式模式,或者甚至可能是命名实体识别,但这是全部大写,我认为复杂的 nlp 解决方案不是最好的。 如果有一些正则表达式模式可以提取日期和城市之间的所有内容,那是我的目标。理想输出示例如下:
# example of our dataframe
data = {'Names':['02/25 APPLE AIR PODS LOS ANGELES CA',
'01/31 AMAZON PRIME VIDEO MIAMI FL',
'05/14 SAMSUNG TV NASHVILLE TN']}
# Convert Dictionary to Dataframe
df = pd.DataFrame(data)
df output expected
names:
APPLE AIR PODS
AMAZON PRIME VIDEO
SAMSUNG TV
【问题讨论】:
-
这很难,你需要找到 city 的名字,然后删除它
-
@BEN_YO 唯一的问题是我的真实数据集有无数个城市......所以我试图找到某种模式。如果我知道所有城市,我可以把它放在一个列表中并删除它,但不幸的是,任何城市都可能这样做......
-
显而易见的策略是列出城市,看看它们是否属于您的 column=Names (get index and you're dome) 。如果您的列表很大,您的 pandas 工具将无法执行此操作。
-
@adhg 可能是 pyspark,如果列表很大?
-
添加了一些代码,使其适用于 2words 城市。不要忘记用所有 2word 城市填写列表。如果您不需要所有这些解释,请告诉我,以便我清除答案以仅保留最终代码
标签: python pandas text extract