给定一个具有“boolcol”列的数据frame,我们希望找到其中“boolcol”的值==True的数据frame的索引
我目前有一种迭代的方法来完成它,它非常有效:
for i in range(100,3000):
if df.iloc[i]['BoolCol']== True:
print i,df.iloc[i]['BoolCol']
df[df['BoolCol'] == True].index.tolist()
df.iloc[i]['BoolCol']
df.iloc[i]
返回df
的ith
行。i
不引用索引标签,i
是基于0的索引。
相反,属性index
返回实际的索引标签,而不是数字行索引:
df.index[df['BoolCol'] == True].tolist()
或者等价于,
df.index[df['BoolCol']].tolist()
df = pd.DataFrame({'BoolCol': [True, False, False, True, True]},
index=[10,20,30,40,50])
In [53]: df
Out[53]:
BoolCol
10 True
20 False
30 False
40 True
50 True
[5 rows x 1 columns]
In [54]: df.index[df['BoolCol']].tolist()
Out[54]: [10, 40, 50]
In [56]: idx = df.index[df['BoolCol']]
In [57]: idx
Out[57]: Int64Index([10, 40, 50], dtype='int64')
In [58]: df.loc[idx]
Out[58]:
BoolCol
10 True
40 True
50 True
[3 rows x 1 columns]
In [55]: df.loc[df['BoolCol']]
Out[55]:
BoolCol
10 True
40 True
50 True
[3 rows x 1 columns]
In [110]: np.flatnonzero(df['BoolCol'])
Out[112]: array([0, 3, 4])
使用df.iloc
按序号索引选择行:
In [113]: df.iloc[np.flatnonzero(df['BoolCol'])]
Out[113]:
BoolCol
10 True
40 True
50 True
我有以下数据框: 我正在尝试为这个熊猫数据框确定适当的语法,如何为列“通道”等于A或B的所有实例编制索引。一旦找到所有实例,我想打印出来。此外,我希望能够在脚本中调用每个索引以获得进一步的应用程序。 我希望显示器是: 然后我想有一个“for循环”,它遍历并分别打印出每个索引实例,这样就很容易识别并单独调用它们,以便在脚本中进一步使用。有人能给点建议吗?
本文向大家介绍Python Pandas 获取列匹配特定值的行的索引问题,包括了Python Pandas 获取列匹配特定值的行的索引问题的使用技巧和注意事项,需要的朋友参考一下 给定一个带有列"BoolCol"的DataFrame,如何找到满足条件"BoolCol" == True的DataFrame的索引 目前有迭代的方式来做到这一点: 这虽然可行,但不是标准的 Pandas 方式。经过一番研
给定一个列为“BoolCol”的数据帧,我们想要查找数据帧的索引,其中“BoolCol”的值 == True 我目前有一种迭代的方法来完成它,它非常有效: 但这不是熊猫的正确方法。经过一些研究,我目前正在使用以下代码: 这个给了我一个索引列表,但是它们不匹配,当我通过执行以下操作来检查它们时: 结果其实是假的!! 熊猫的正确做法是什么?
我正在读熊猫的CSV文件。假设CSV如下所示: 我想从(即)中获取值,其中和。我确信只有一行符合此条件。 所以我在做这样的事情: 我尝试了来给我这个值,但是它返回了一个数据帧,索引是此行的行号。此处的行号不是0,而是1(即CSV文件中的原始行号),这不允许我执行 如何在这里获得列值?
问题内容: 假设您有两个2D数组A和B,并且要检查B中包含A行的位置。如何使用numpy最有效地做到这一点? 例如 我知道如何使用(检查2d numpy数组中的成员资格 )检查A的行是否在B中,但这不会产生索引图。 该映射的目的是(最终)基于某些列将两个数组合并在一起。 当然,可以逐行执行此操作,但这效率非常低,因为我的数组具有形状(50 Mio.,20)。 一种替代方法是使用pandas mer
问题内容: 我有一个。我想获取具有特定用户名的流中(第一个)用户的索引。我并不想实际上要求对它们进行描述,而只是具有相同的用户名。 我可以想到执行此操作的丑陋方法(重复和计数),但是感觉应该有一个不错的方法可以执行此操作,可能是使用Streams。到目前为止,我拥有的最好的是: 这不是我写过的最糟糕的代码,但这不是很好。它也不是那么灵活,因为它依赖于一个映射类型的函数,该函数具有描述您要寻找的属性