假设我有一个数据框:
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.或者如果索引不仅仅是整数,而是时间戳。如何干净地表达行间依赖关系?
答案 0 :(得分:1)
df[df.shift().A == 1]