过滤不在范围内的值

2024-09-25 08:33:29 发布

您现在位置:Python中文网/ 问答频道 /正文

这里我试图过滤(删除)超过30个腋窝节点的行。下面的代码没有显示任何值

l=list(range(0,30))
l

pos_ax=[x for x in breast.Pos_axillary_nodes.unique() if a in x] 
pos_ax

breast = breast[df.Pos_axillary_nodes.isin(pos_ax)]
breast

Pos_axillary_nodes
1
3
0
2
4
10
0
0
9
30
1
10
7
0
13
0
1
0
0
0
0
6
15
0
21
2
0
0
3
1
0
11
1
5
0
0
0
0
2
4
2
0
0
23
0
0
0
8
0
0
8
0
0
1
0
0
1
2
4
20
0
1
52
2
0
0
14
2
3
0
2
0
4
6
9
19
0
1
0
16
6
0
1
0
0
14
0
0
1
2
3
5
20
0
3
0
23
0
0
0
6
0
0
3
4
4
12
11
11
7
8
2
0
0
0
10
1
0
0
1
1
3
0
1
13
0
0
6
0
1
1
2
0
0
4
1
13
3
7
1
0
1
3
2
3
4
0
4
0
4
5
0
1
0
0
0
4
1
3
9
24
12
1
1
2
1
0
11
23
5
7
7
3
0
46
0
7
19
1
0
6
15
1
0
1
18
0
3
22
1
9
3
0
2
1
0
0
5
14
1
9
0
0
0
0
0
0
0
0
3
1
0
0
3
2
35
0
0
1
4
0
7
3
17
0
1
2
25
0
5
0
1
0
0
0
8
0
0
13
0
19
6
0
0
0
1
0
0
0
0
0
9
28
0
22
0
0
0
0
2
22
15
0
0
0
2
0
1
0
13
0
1
0
8
1
0
0
0
0
0
0
8
0
0
0
0
4
14
0
0
8
0
2
0
0
0
3
0
0
3
0
1
0
3
1
2

Tags: 代码inposforif节点rangeax
1条回答
网友
1楼 · 发布于 2024-09-25 08:33:29

你的问题我们没有太多细节。但是下面的代码片段中的“a”是什么

pos_ax=[x for x in breast.Pos_axillary_nodes.unique() if a in x] 

另外,我不明白你为什么在breastdf之间交替使用breast[df.Pos_axillary_nodes.isin(pos_ax)]

至少,我希望有if x in l而不是if a in x。此外,如果l只是0到29之间的整数列表,我建议改为编写if 0 <= x < 30

最后,如果目标是从 Pos_axillary_nodes行中提取此值包含在0和29之间的数据,则以下操作将简单得多:

breast[lambda d: d['Pos_axillary_nodes'].between(0, 29)]

相关问题 更多 >