微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python – Pandas:在字符串匹配后获取列中的下一个值

在字符串匹配后,如何获取列中的下一个值?

regex = 'ABC'
row_match = df["column1"].str.match(regex, case=False)

即如何获取同一列中下一行的值,在可以找到字符串ABC的那一行之后?

我尝试用iterrows迭代一行,但我无法让它工作.

解决方法:

您可以尝试使用shift获取一个值.

这是一个小例子:

>>> import pandas as pd
>>> data = ['a', 'b', 'c', 'd', 'c', 'e']
>>> df = pd.DataFrame(data)
>>> df
   0
0  a
1  b
2  c
3  d
4  c
5  e
>>> df[df[0].str.match('c').shift(1).fillna(False)]
   0
3  d
5  e

我使用fillna替换第一行中的NaN.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐