栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Pandas:如何在数据框列中查找特定模式?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Pandas:如何在数据框列中查找特定模式?

这是一个解决方案:

使用滚动检查是否在任何列中找到了模式。这将为您提供与模式匹配的组的最后一个索引

matched = df.rolling(len(pattern)).apply(lambda x: all(np.equal(x, pattern)))matched = matched.sum(axis = 1).astype(bool)   #Sum to perform boolean ORmatchedOut[129]: Dates2017-07-07    False2017-07-08    False2017-07-09    False2017-07-10    False2017-07-11    False2017-07-12     True2017-07-13    False2017-07-14    False2017-07-15    False2017-07-16    Falsedtype: bool

对于每个匹配项,添加完整模式的索引:

idx_matched = np.where(matched)[0]subset = [range(match-len(pattern)+1, match+1) for match in idx_matched]

获取所有模式:

result = pd.concat([df.iloc[subs,:] for subs in subset], axis = 0)resultOut[128]:  ColA  ColBDates      2017-07-10   100    912017-07-11    90   1072017-07-12   105    99


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/639050.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号