【发布时间】:2017-02-12 14:39:58
【问题描述】:
我在 pandas 中有一个如下所示的数据框:
AID VID Freq
0 00016A3E 0127C661 1
1 00016A3E 0C05DA5D 2
2 00016A3E 0C032814 1
3 00016A3E 0BF6C78D 1
4 00016A3E 0A79DFF1 1
5 00016A3E 07BD2FB2 1
6 00016A3E 0790E61B 1
7 00016A3E 0C24ED25 3
8 00016A3E 073630B5 3
9 00016A3E 06613535 1
10 00016A3E 05F809AF 1
11 00016A3E 05C625FF 1
12 00016A3E 04220EA8 4
13 00016A3E 013A29E5 1
14 00016A3E 0761C98A 1
15 00016AE9 0A769475 16
16 00016AE9 0A7DED0A 2
17 00016AE9 0ABF60DF 9
18 00016AFF 0AE3F25A 2
19 00016AFF 0AEFE12F 5
20 00016AFF 0BD8975A 2
21 00016AFF 44DF880B 1
22 00016AFF 43F9E08E 2
23 00016AFF 44EA5E08 2
24 00016AFF 4539ED1E 16
25 00016AFF 8516B55A 4
26 00016AFF 0972AFF2 1
27 00016AFF 0C559B34 1
28 00016AFF 06B5C040 7
29 00016AFF 0B0426FA 1
我想:
1-提取AID出现10次或以上的所有行,我们称之为df1。
2- 我想从那个 df1 中为每个 AID 随机选择 2 行并将它们从 df1 中删除到另一个数据帧中,我们称之为 df2。
所以生成的 df 应该如下所示:
df1:我们删除了AID 是00016AE9 的行,因为它只出现了3 次。
AID VID Freq
0 00016A3E 0127C661 1
1 00016A3E 0C05DA5D 2
2 00016A3E 0C032814 1
4 00016A3E 0A79DFF1 1
5 00016A3E 07BD2FB2 1
7 00016A3E 0C24ED25 3
8 00016A3E 073630B5 3
9 00016A3E 06613535 1
10 00016A3E 05F809AF 1
11 00016A3E 05C625FF 1
12 00016A3E 04220EA8 4
13 00016A3E 013A29E5 1
14 00016A3E 0761C98A 1
18 00016AFF 0AE3F25A 2
19 00016AFF 0AEFE12F 5
20 00016AFF 0BD8975A 2
21 00016AFF 44DF880B 1
22 00016AFF 43F9E08E 2
23 00016AFF 44EA5E08 2
24 00016AFF 4539ED1E 16
25 00016AFF 8516B55A 4
26 00016AFF 0972AFF2 1
29 00016AFF 0B0426FA 1
df2:我想从每组AID中随机选择两行放入df2:
AID VID Freq
3 00016A3E 0BF6C78D 1
6 00016A3E 0790E61B 1
27 00016AFF 0C559B34 1
28 00016AFF 06B5C040 7
【问题讨论】:
-
好的,你有什么问题?
-
问题中的第 1 点和第 2 点如何...我对数据帧还是新手,我不想使用循环,因为它违背了目的。