提取熊猫数据帧列中的单词



如何在满足以下条件的数据框列中选择字符串的一部分?

  • 如果该行包含www,则在第一个.之后提取单词
  • 如果该行不包含www,则在//之后提取单词

例:

Column
https://www.test.com
https://train.co.uk

在第一种情况下,我应该在第一个句号之后提取单词,即test;在第二种情况下,我应该考虑//之后的第一个词,即train

这是尝试获取域

import pandas as pd
import tldextract

df['domain'] = df.Column.map(lambda x : tldextract.extract(x).domain)

另一种选择是将正则表达式与非标题组一起使用:

df.Column.str.extract('//(?:www.)?([^.]*)')

输出:

0
0   test
1  train

最新更新