【发布时间】:2019-08-13 17:27:58
【问题描述】:
背景
我有以下示例 df:
df = pd.DataFrame({'Name' : ['ANT J DOE', 'ANT J DOE', 'ANT J DOE', 'ANT J DOE',
'ANDREW THE', 'AMANDA TO', 'AZARA HEBREW', 'BARNY GUM',
'BORIS CHE', 'BORIS CHE', 'BORIS CHE', 'BRYAN WILLI',
'BRAIN THEY', 'BREZ TOW', 'CRAFT CHEEZE', 'ERICE BEE',
'ERICK BEE', 'ERIC BRAI', 'ERIK REY', 'FER AZ',
'FRAY AR', 'HE SAM', 'JANE ANN DOE', 'JANE ANN DOE',
'JAMES J DOE', 'MART DR', 'QUE BALL', 'ZIM THE',
'ZIMMY SALLOW', 'ZAQ CRO'],
'P_ID': [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,
20,21,22,23,24,25,26,27,28,29,30]
})
输出
Name P_ID
0 ANT J DOE 1
1 ANT J DOE 2
2 ANT J DOE 3
3 ANT J DOE 4
4 ANDREW THE 5
5 AMANDA TO 6
6 AZARA HEBREW 7
7 BARNY GUM 8
8 BORIS CHE 9
9 BORIS CHE 10
10 BORIS CHE 11
11 BRYAN WILLI 12
12 BRAIN THEY 13
13 BREZ TOW 14
14 CRAFT CHEEZE 15
15 ERICE BEE 16
16 ERICK BEE 17
17 ERIC BRAI 18
18 ERIK REY 19
19 FER AZ 20
20 FRAY AR 21
21 HE SAM 22
22 JANE ANN DOE 23
23 JANE ANN DOE 24
24 JAMES J DOE 25
25 MART DR 26
26 QUE BALL 27
27 ZIM THE 28
28 ZIMMY SALLOW 29
29 ZAQ CRO 30
目标
在Name 中从每个“字母组”A-Z 中选择两个不同的名称。
例子:
1) “字母组”“A”中的两个不同名称将对应于ANT J DOE 和ANDREW THE。
2) “字母组”“Z”中的两个不同名称将对应于ZIM THE 和ZIMMY SALLOW
重要的是,Name 在此示例中并不详尽。我真正的Name 列有所有26 表示的字母表
期望的输出
Name P_ID
0 ANT J DOE 1
1 ANDREW THE 5
2 BARNY GUM 8
3 BORIS CHE 11
4 ERICE BEE 16
5 ERIC BRAI 18
6 FER AZ 20
7 FRAY AR 21
8 JANE ANN DOE 23
9 JAMES J DOE 25
10 ZIM THE 28
11 ZIMMY SALLOW 29
问题
如何实现我想要的输出?
【问题讨论】:
-
是 2 还是前 2?同样是
distinct names in Name from each "alphabet group", A-Z,你的意思是如果名字以那个字母开头? -
所以你想忽略那些没有有两个不同值的值?
-
@anky_91 任意两个
name有效。是的,这里有一些例子:aforandrew,bforbecky,c` forcathy,yforyasmine等 -
@user3483203 是的,我现在想忽略
标签: python-3.x string pandas