我有一个数据框,看起来如图所示:
date close Target Loss
34 17-08-2021 1543.95 0 0
35 18-08-2021 1740.6 1 0
36 18-08-2021 1740.6 0 0
37 18-08-2021 1740.6 0 0
38 18-08-2021 1740.6 0 0
39 18-08-2021 1740.6 0 0
40 18-08-2021 1740.6 0 0
41 18-08-2021 1740.6 0 0
42 18-08-2021 1740.6 0 0
43 18-08-2021 1740.6 0 0
44 18-08-2021 1740.6 0 0
45 18-08-2021 1740.6 0 0
58 20-08-2021 873.6 0 1
59 20-08-2021 881.05 0 0
60 20-08-2021 864.05 0 1
61 23-08-2021 928.35 1 0
62 23-08-2021 921.65 0 0
63 23-08-2021 813.8 0 1
现在我想使用groupby对数据帧中的所有值进行分组,其中Target或Loss列下的行为1。但我需要保留行顺序。我的意思是,在最终数据帧中,第35行应该是起始行,然后是第58、60、61、63行。最终数据帧应该如图所示:
date close Satisfied
35 18-08-2021 1740.6 1
58 20-08-2021 873.6 1
60 20-08-2021 864.05 1
61 23-08-2021 928.35 1
63 23-08-2021 813.8 1
我关心订单的原因是因为我必须计算利润/损失,利润/损失可以通过减去结果数据帧中的接近值来获得,这些值可以通过diff方法实现
试试
loc
和pop
:首先求和列,然后按greate或等于
1
进行过滤应该是这里最简单的解决方案:如果需要
Satisfied
中的1
和两列中可能的1
,请执行以下操作:相关问题 更多 >
编程相关推荐