在pandas数据框的列中提取单词

时间:2020-06-18 23:48:14

标签: python pandas

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

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

示例:

Column

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

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

2 个答案:

答案 0 :(得分:1)

这是尝试获取域

import pandas as pd
import tldextract


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

答案 1 :(得分:1)

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

       0
0   test
1  train

输出:

var myarray = [
 "a1,b1,c1,d1",
 "a2,b2,c2,d2",
 "a3,b3,c3,d3"
];

const makeProperties = arr => arr.map(item => item.split(',').reduce((result, splitItem, index) => {
  result['field' + (index + 1)] = splitItem;
  return result;
}, {}));

console.log(makeProperties(myarray));