在Pandas中遍历行和编辑字符串



早上好,

我已经详尽地搜索了如何在Python/Pandas中最好地做两件事,但还没有找到答案。

我有一个df,例如:

角色
用户
Roger Dodger(rogerdodger( 用户
Edwin Cullen(edwincullen( 用户
Hunter Andrews(hunterandrews( 用户

有多种方法可以做到这一点。

一种方法是使用pandas.Series.apply和如下所示的自定义lambda函数

df['User'] = df['User'].apply(lambda x: x[x.find('(')+1:x.find(')')])
[Out]:
User  Role
0    rogerdodger  user
1    edwincullen  user
2  hunterandrews  user

另一种方法可以是使用pandas.Series.str.extract,如下

df['User'] = df['User'].str.extract(r'((.*?))', expand=False)
[Out]:
User  Role
0    rogerdodger  user
1    edwincullen  user
2  hunterandrews  user

备注

  • 如果需要,还可以将用户名存储在不同的列中,例如列username,如下所示

    df['username'] = df['User'].str.extract(r'((.*?))', expand=False)
    [Out]:
    User  Role       username
    0      Roger Dodger (rogerdodger)  user    rogerdodger
    1      Edwin Cullen (edwincullen)  user    edwincullen
    2  Hunter Andrews (hunterandrews)  user  hunterandrews
    

最新更新