我使用csv文件中的pandas模块在python中创建了一个数据帧。 Pandas默认将字符串转换为对象类型。现在从该字符串,我想创建另一个列,我试图使用正则表达式创建。但是,因为列是对象我收到错误
data = pd.read_csv(r'Desktop\train.csv')
desig = re.search(r'(\w+), (\w+). (\w+)',data['Name']).group(1)
TypeError:期望的字符串或缓冲区
如何从对象中提取部分?
感谢。
答案 0 :(得分:0)
您希望使用数据框的str
方法中包含的向量化操作:
data['desig'] = data['Name'].str.extract(r'(\w+), (\w+). (\w+)')
这实际上将返回一个包含三个对应于三个组的列的数据帧。