需要全部提取pandas数据帧中括号内的内容

时间:2017-06-26 01:53:46

标签: pandas dataframe text-extraction data-extraction

我只需要提取pandas数据框中括号内的内容。我尝试使用str.exratct()但它不起作用。我需要提取帮助

DATA :( IS IN DATA FRAME,这是一行的样本数据)

作者:陈德克斯(陈天旭)[1]; Tribbitt MA(Tribbitt Mark A。)[2];杨Y(杨毅)[3];李晓梅(李小梅)[4]

1 个答案:

答案 0 :(得分:1)

您可以使用from bson.objectid import ObjectId a = users.find_one({'_id': ObjectId(_id)})

regular expression

Dataframe是:

import pandas as pd
import re

dataset = pd.DataFrame([{'DATA': 'By:Chen TX (Chen Tianxu)[ 1 ] ; Tribbitt MA (Tribbitt Mark A.)[ 2 ] ; Yang Y (Yang Yi)[ 3 ] ; Li XM (Li Xiaomei)[ 4 ]'}])
print(dataset)

然后,使用带有 DATA 0 By:Chen TX (Chen Tianxu)[ 1 ] ; Tribbitt MA (Tribbitt Mark A.)[ 2 ] ; Yang Y (Yang Yi)[ 3 ] ; Li XM (Li Xiaomei)[ 4 ] 函数的regular expression,以便您提取名称并将其保存到名为lambda的不同列:

names

# regular expression from: https://stackoverflow.com/a/31343831/5916727 dataset['names'] = dataset['DATA'].apply(lambda x: re.findall('\((.*?)\)',x)) print(dataset['names']) 列的输出为:

names