如何获取具有许多不同 URL 的唯一值



我有一个看起来像下面的数据帧。

Product    URLs                          Company
0   shoes      www.walmart.com/12va15a       walmart
1   shoes      www.costco.com/1apsd-dfasx    costco   
2   pants      www.amazon.com/adsffa1        NaN
3   shirt      www.Amazon.com/fas19axl       Amazon 
4   shoes      www.walmart.com/ywsg141q      NaN

我不确定 Pandas 是否可以在 URL 列中获取唯一变量并将其填充到公司列的 NaN 中。

我喜欢的数据帧如下所示

Product    URLs                          Company
0   shoes      www.walmart.com/12va15a       walmart
1   shoes      www.costco.com/1apsd-dfasx    costco   
2   pants      www.amazon.com/adsffa1        amazon
3   shirt      www.Amazon.com/fas19axl       amazon 
4   shoes      www.walmart.com/ywsg141q      walmart

编辑:我已经降低了所有URL,但我不确定如何提取亚马逊,好市多等关键字。

为第一和第二.之间的值添加Series.str.extract

df.Company = df.URLs.str.lower().str.extract('.(.+).', expand=False)
print (df)
Product                        URLs  Company
0   shoes     www.walmart.com/12va15a  walmart
1   shoes  www.costco.com/1apsd-dfasx   costco
2   pants      www.amazon.com/adsffa1   amazon
3   shirt     www.Amazon.com/fas19axl   amazon
4   shoes    www.walmart.com/ywsg141q  walmart

如果只想替换缺失值,也使用Series.fillna

df.Company = df.Company.fillna(df.URLs.str.lower().str.extract('.(.+).', expand=False))

在处理之前lower您的网址:

df.URLs = df.URLs.str.lower()

相关内容

  • 没有找到相关文章

最新更新