【发布时间】:2022-01-14 21:48:12
【问题描述】:
我有一个pandas.DataFrame 的表格。我将向您展示一个简单的示例。 (实际上,它由数亿行数据组成。)。
当(type = 0)属于(type = 22)时,我想输出属于(type=22 & energy >= 0.3)的(type=22 and type=0)。
我以event c为例进行说明。
event c 的“索引”是 10-16。
而index 10~12是属于index 10, type 22, energy 0.1的一组(A)。
index 13~14是属于index 13, type 22, energy 0.32的一组(B)。
index 15~16 是属于index 15, type 22, energy 0.1 的集合(C)。
应该输出属于type = 22 & energy >= 0.3的(type = 22 & type = 0)。
因此,在event c 中,我需要的是带有index 15~16 的集合(B)。
在event d 中,(type = 22 & type = 0) 没有输出,因为没有任何东西满足(type = 22 & energy >= 0.3) 的条件。
我的源数据帧
df=
index event type energy ID
0 a 22 0.3 1
1 a 0 0.01 2
2 a 0 0.02 3
3 a 22 0.21 4
4 a 0 0.03 5
5 b 22 0.11 2
6 b 0 0.02 3
7 b 22 0.41 4
8 b 0 0.05 1
9 b 0 0.01 2
10 c 22 0.1 1
11 c 0 0.01 2
12 c 0 0.02 3
13 c 22 0.32 4
14 c 0 0.022 5
15 c 22 0.1 2
16 c 0 0.02 3
17 d 22 0.1 4
18 d 0 0.05 1
19 d 0 0.01 2
20 e 22 0.1 4
21 e 0 0.05 1
22 e 0 0.01 2
23 e 22 0.2 4
24 e 0 0.05 1
25 e 0 0.01 2
26 e 22 0.32 4
27 e 0 0.05 1
28 e 0 0.01 2
29 f 22 0.5 4
30 f 0 0.05 1
31 f 0 0.01 2
这是我的预期结果:
df=
index event type energy ID
0 a 22 0.3 1
1 a 0 0.01 2
2 a 0 0.02 3
7 b 22 0.41 4
8 b 0 0.05 1
9 b 0 0.01 2
13 c 22 0.32 4
14 c 0 0.022 5
26 e 22 0.32 4
27 e 0 0.05 1
28 e 0 0.01 2
29 f 22 0.5 4
30 f 0 0.05 1
31 f 0 0.01 2
【问题讨论】:
-
每组
A,B,C由22编排?输入类型只有22 or 0? -
那些“事件”是粒子的碰撞吗?
-
'type' 总是 0 或 22。'event' 是粒子数。
标签: python pandas sorting extract