Pandas - 根据其他行选择行

时间:2016-04-29 22:47:32

标签: python pandas

假设我有一个数据框:

Select * from TableA
where 
(System=1 and Acct=2 and FiscalNo=4)
or
(System=2 and FiscalNo=4 and SubAcct=1521)

我想选择前面有一行的行:

df = pd.DataFrame({'A':[1,2,3,3,6,8,1,4]})

df
   A
0  1
1  2
2  3
3  3
4  6
5  8
6  1
7  4

现在,我可以通过选择带有一行的行,获取它们的索引,然后在索引中添加一个然后使用iloc来解决这个问题:

selection
   A
1  2
7  4

但我想知道是否有“更多熊猫”的方式来做到这一点。此外,如果搜索更复杂,例如:选择前面加1的所有行,然后选择3.或者如果索引不仅仅是整数,而是时间戳。如何干净地表达行间依赖关系?

1 个答案:

答案 0 :(得分:1)

解决方案

df[df.shift().A == 1]