Python pandas dataframe regex从对象中提取子字符串

时间:2016-01-19 03:06:19

标签: python regex pandas

我使用csv文件中的pandas模块在python中创建了一个数据帧。 Pandas默认将字符串转换为对象类型。现在从该字符串,我想创建另一个列,我试图使用正则表达式创建。但是,因为列是对象我收到错误

data = pd.read_csv(r'Desktop\train.csv')
desig = re.search(r'(\w+), (\w+). (\w+)',data['Name']).group(1)
  

TypeError:期望的字符串或缓冲区

如何从对象中提取部分?

感谢。

1 个答案:

答案 0 :(得分:0)

您希望使用数据框的str方法中包含的向量化操作:

data['desig'] = data['Name'].str.extract(r'(\w+), (\w+). (\w+)')

这实际上将返回一个包含三个对应于三个组的列的数据帧。