相关疑难解决方法(0)

Python Pandas:获取列匹配特定值的行的索引

给定一个带有"BoolCol"列的DataFrame,我们想要找到DataFrame的索引,其中"BoolCol"的值== True

我目前有迭代的方式来做到这一点,它完美地工作:

for i in range(100,3000):
    if df.iloc[i]['BoolCol']== True:
         print i,df.iloc[i]['BoolCol']
Run Code Online (Sandbox Code Playgroud)

但这不是正确的熊猫方式.经过一些研究,我目前正在使用此代码:

df[df['BoolCol'] == True].index.tolist()
Run Code Online (Sandbox Code Playgroud)

这个给了我一个索引列表,但是当我通过执行以下操作检查它们时它们不匹配:

df.iloc[i]['BoolCol']
Run Code Online (Sandbox Code Playgroud)

结果实际上是假的!!

这是正确的熊猫方式吗?

python indexing pandas

222
推荐指数
5
解决办法
59万
查看次数

大熊猫相当于R的哪个()

之前已经问过这个问题的变化,我仍然无法理解如何根据我想要设置的条件实际切片python系列/ pandas数据帧.

在R中,我要做的是:

df[which(df[,colnumber] > somenumberIchoose),]
Run Code Online (Sandbox Code Playgroud)

which()函数在数据框的列中查找大于somenumberIchoose的行的条目索引,并将其作为向量返回.然后,我使用这些行索引对数据帧进行切片,以指示我想在新表单中查看哪些数据帧行.

在python中有相同的方法吗?我已经看过枚举的引用,在阅读文档后我并不完全理解.我的示例为了获得行索引,现在看起来像这样:

indexfuture = [ x.index(), x in enumerate(df['colname']) if x > yesterday]  
Run Code Online (Sandbox Code Playgroud)

但是,我继续收到无效的语法错误.我可以通过循环遍历值,并自己手动进行搜索来破解解决方法,但这似乎非常非pythonic和低效.

枚举()究竟是做什么的?什么是在矢量中找到满足所需参数的值索引的pythonic方法?

注意:我正在使用Pandas作为数据帧

python logical-operators which pandas

15
推荐指数
2
解决办法
9941
查看次数

Python索引正则表达式匹配的列表

再次认识到这与SO上的一些其他问题类似但我无法为我的目的转换.例如.用下面的代码片段

import re
a = ['rhubarb','plain custard','jam','vanilla custard','pie','cheesecake']
s = re.compile('custard')
Run Code Online (Sandbox Code Playgroud)

我希望能够得到一份清单

[2,4]

这是两个custard字符串的索引.我认为下面的问题会有所帮助,但我无法弄清楚如何在这里应用它.

Python相当于R中的which()

python regex list

2
推荐指数
1
解决办法
143
查看次数

标签 统计

python ×3

pandas ×2

indexing ×1

list ×1

logical-operators ×1

regex ×1

which ×1