我下面有一个假数据框,并尝试操纵“联系人”列。有些人只有电话号码,有些人只有电子邮件,有些人同时有号码和电子邮件,中间有空格。
所以,我想创建另外两列('gender'和'email')并将联系人列拆分为3列。 ('性别' - (M)为男性,(F)为女性,'phone_number'和'电子邮件')
我试过
SELECT radius
FROM
ST_MinimumBoundingRadius('MULTIPOINT(1 2,3 8,5 6)')
但我失败了,因为有时它在(F)和之后的电话号码之间有一个空格。
SELECT radius
FROM
(SELECT
ST_MinimumBoundingRadius(ST_Collect(geom)) minrad
FROM a) b
谢谢。
答案 0 :(得分:3)
试试这个正则表达式,
df[['gender','phone_number','email']]=df['Contact'].str.\
extract('\(([A-Z])\)\s?(\d{3}-\d{3}-\d{4})?\s?(.*)', expand = False)
df.drop('Contact', axis = 1, inplace = True)
EmployeeID FirstName LastName MiddleName gender phone_number email
0 0 a a a M 133-245-3123
1 1 b b b F NaN a123@gmail.com
2 2 c c None F 312-533-2442 jimmy234@gmail.com