我只需要提取pandas dataframe中括号内的内容。我尝试使用str.exratct(),但它不起作用。我需要人帮我拔牙
数据:(在数据框中,这是一行中的样本数据)
作者:陈天旭(陈天旭)1;摩擦MA (摩擦马克A)2;杨勇(杨翊)3;李晓梅(李晓梅)4
发布于 2017-06-26 10:22:21
您可以使用regular expression
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)Dataframe是:
DATA
0 By:Chen TX (Chen Tianxu)[ 1 ] ; Tribbitt MA (Tribbitt Mark A.)[ 2 ] ; Yang Y (Yang Yi)[ 3 ] ; Li XM (Li Xiaomei)[ 4 ]然后,使用带有lambda函数的regular expression,以便提取名称并将其保存到名为names的不同列中
# regular expression from: https://stackoverflow.com/a/31343831/5916727
dataset['names'] = dataset['DATA'].apply(lambda x: re.findall('\((.*?)\)',x))
print(dataset['names'])names列的输出为:
0 [Chen Tianxu, Tribbitt Mark A., Yang Yi, Li Xiaomei]https://stackoverflow.com/questions/44752217
复制相似问题