假设一个简单的数据框,例如
A B
0 1 0.810743
1 2 0.595866
2 3 0.154888
3 4 0.472721
4 5 0.894525
5 6 0.978174
6 7 0.859449
7 8 0.541247
8 9 0.232302
9 10 0.276566
给定条件,如何检索行的索引值?例如: dfb = df[df['A']==5].index.values.astype(int)
返回 [4]
,但我想得到的只是 4
。这在后面的代码中给我带来了麻烦。
根据某些条件,我希望记录满足该条件的索引,然后选择其中的行。
我试过了
dfb = df[df['A']==5].index.values.astype(int)
dfbb = df[df['A']==8].index.values.astype(int)
df.loc[dfb:dfbb,'B']
获得所需的输出
A B
4 5 0.894525
5 6 0.978174
6 7 0.859449
但我得到 TypeError: '[4]' is an invalid key
原文由 durbachit 发布,翻译遵循 CC BY-SA 4.0 许可协议
更容易的是添加
[0]
- 选择列表的第一个值与一个元素:但如果可能某些值不匹配,则会引发错误,因为第一个值不存在。
解决方案是使用
next
和iter
如果值不匹配,则获取默认参数:然后似乎需要减去
1
:boolean indexing
或query
的另一种解决方案: