python - 根据列上的子字符串条件查找组中的下一行 - Pandas
问题描述
我正在尝试根据子字符串条件获取组中的下一行。
下面的代码忽略了分组条件。
df_shifted_rows = df[df.groupby(['id'])\
['url'].apply(lambda x: x.str.contains("confirmation"))\
.shift(1).fillna(False)]
如果当前组中的匹配值在最后一行,那么班次应该给我 null。但它正在移动到下一组并给出下一组中的第一个值。
解决方案
分成两步
m = df['url'].str.contains("confirmation")
df = df[m.groupby(df['id']).shift(1)]
推荐阅读
- indexing - 向量化三维微分;寻找零梯度
- javascript - Expo 应用程序图标未正确显示
- ember.js - 在 Octane 中向 LinkTo 添加额外操作
- c - stat(2) 线程安全吗?
- html - facebook的分享链接不显示我的网址
- android - IllegalArgumentException 访问画廊视频 URI
- c# - Akavache 和 collectionChanged 事件
- ios - 将角度归一化到 0 到 360 度的范围?
- asp.net - 在构建期间获取“警告 MSB3277:发现不同版本之间的冲突”
- reactjs - 如何从传入的参数创建对象?