在pandas中,设置新列并更新现有列

2024-05-12 23:06:58 发布

您现在位置:Python中文网/ 问答频道 /正文

pandas数据帧中,我有一个姓氏字段,看起来像

df = pd.DataFrame(['Jones Jr', 'Smith'], columns=['LastName'])

我试图设置一个名为“Generation”的新列,同时去掉姓氏的Generation,因此结果如下所示:

^{pr2}$

我可以设置Generation列,然后返回并从姓氏中删除Generation:

^{3}$

不过,这是两个步骤,似乎执行一次更新将是最好的。在

我考虑过apply,但是它是一个apply,它适用于两个列,其中匹配X和我找不到任何接近它的内容。在


Tags: columns数据dataframepandasdf步骤generationpd
1条回答
网友
1楼 · 发布于 2024-05-12 23:06:58

您可以使用.str.extract()方法:

In [19]: df2 = df.LastName.str.extract(r'(?P<LastName>\w+)\s?(?P<Generation>Jr|Sr)?', expand=True)

In [20]: df2
Out[20]:
  LastName Generation
0    Jones         Jr
1    Smith        NaN

相关问题 更多 >