类似的问题以前被问过,我仍然很难理解如何根据我想设置的条件实际切片python series/pandas dataframe。
在R中,我尝试做的是:
df[which(df[,colnumber] > somenumberIchoose),]
which()函数在数据框中查找列条目的索引,这些条目大于我选择的一个数,并将其作为向量返回。然后,我使用这些行索引来指示我想要在新形式中查看哪些数据框行,并对数据框进行切片。
在Python中有没有相应的方法?我看到了一些关于枚举的参考资料,但在阅读文档之后还不是很理解。目前为止,为了得到行索引,我的代码如下:
indexfuture = [ x.index(), x in enumerate(df['colname']) if x > yesterday]
然而,我一直收到一个无效的语法错误。我可以通过循环遍历值,并手动执行搜索来绕过此问题,但那似乎非常不符合Python风格且效率低下。
enumerate()函数究竟是做什么的?在Python中找到向量中满足所需参数的值的索引的方式是什么?
注意:我正在使用Pandas进行数据框架操作。
[a.index() for (a, b) in enumerate(df['colname']) if b > yesterday]
- user1971598which()
,它返回一个向量,其中满足某些条件的索引。最佳答案是关于布尔子集的。这篇帖子包含我认为实际等价于which()
的内容。 - Hendy