猿问

过滤不在范围内的值

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


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



拉莫斯之舞
浏览 143回答 1
1回答

慕村225694

我们没有从你的问题中得到太多细节。但是以下代码片段中的“a”是什么?pos_ax=[x&nbsp;for&nbsp;x&nbsp;in&nbsp;breast.Pos_axillary_nodes.unique()&nbsp;if&nbsp;a&nbsp;in&nbsp;x]另外,我不明白为什么你在breast和dfin之间交替breast[df.Pos_axillary_nodes.isin(pos_ax)]。至少,我希望有if x in l而不是if a in x.&nbsp;此外,如果l只是一个 0 到 29 之间的整数列表,我建议改写if 0 <= x < 30。最后,如果目标是从Pos_axillary_nodes该值包含在 0 到 29 之间的行中提取,那么以下将简单得多:breast[lambda&nbsp;d:&nbsp;d['Pos_axillary_nodes'].between(0,&nbsp;29)]
随时随地看视频慕课网APP

相关分类

Python
我要回答