gpt4 book ai didi

python - 根据针对正则表达式 Pandas 检查的现有列填充新列

转载 作者:太空宇宙 更新时间:2023-11-03 15:07:06 25 4
gpt4 key购买 nike

我在 Pandas 中有一个数据框,如下所示

df = pd.DataFrame({'Firstname':['Vishal', 'Nishal', 'Indira', 'Jagdish', 'Tamnna'], 'Actual Age':[25,33,58,58,30]})

Firstname Actual Age
0 Vishal 25
1 Nishant 33
2 Indira 58
3 Jagdish 58
4 Tamnna 30

和一个正则表达式:

\w+ish\w*

我似乎无法理解我们提供的结果如下:

  Firstname  Actual Age  CopyDown
0 Vishal 25 Vishal
1 Nishant 33 Nishant
2 Indira 58 Nishant
3 Jagdish 58 Jagdish
4 Tamnna 30 Jagdish

所以基本上我想做的是查看 Firstname 列,如果我可以匹配给定的正则表达式,则继续在新列中复制该值,直到找到下一个匹配项,然后基本上继续这样做直到你得到到最后。

有什么想法吗?我已经坚持了好几天了。它基本上是我想实现的复制功能,可能在非规范化数据集中有用。 (使用日期作为东西)

提前致谢

最佳答案

您可以使用 Series.str.extract("(\w+ish\w*)") 来获取匹配项。

然后你可以使用 Series.fillna(method='ffill') 向前填充空匹配

这一行应该足够了:

df['CopyDown'] = df.Firstname.str.extract('(\w+ish\w*)').fillna(method='ffill')

关于python - 根据针对正则表达式 Pandas 检查的现有列填充新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31387113/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com