python-3.x 如何从Pandas专栏中获得礼物和家人

y4ekin9u  于 2023-02-01  发布在  Python
关注(0)|答案(2)|浏览(94)

我有一个panda Dataframe ,它的列名为fullname:

fullname
Andres Kirk Polsky
Anna Lorensen Polsman Uirch

我想创建两个新列,如下所示:

fullname                        given       rest_name
Andres Kirk Polsky              Andres      Kirk Polsky
Anna Lorensen Polsman Uirch     Anna        Lorensen Polsman Uirch

我正在尝试使用str.aplit(' ', expand=True),但这没有给我想要的结果。

f0ofjuux

f0ofjuux1#

可能的解决方案:

(df.assign(**df['fullname'].str.split(' ', n=1, expand=True)
           .rename({0: 'given', 1: 'rest_name'}, axis=1)))

输出:

fullname   given               rest_name
0           Andres Kirk Polsky  Andres             Kirk Polsky
1  Anna Lorensen Polsman Uirch    Anna  Lorensen Polsman Uirch
z9smfwbn

z9smfwbn2#

df[["given", "rest_name"]] = (df["fullname"].str.extractall(r"^(\S+)\s(.*)")
                                              .reset_index(drop=True))

输出:

print(df)

                      fullname   given               rest_name
0           Andres Kirk Polsky  Andres             Kirk Polsky
1  Anna Lorensen Polsman Uirch    Anna  Lorensen Polsman Uirch

相关问题