【发布时间】:2021-12-24 10:48:14
【问题描述】:
我有以下数据框:
x=df[['PROJECT','ID']]
print(x)
PROJECT ID
0 1 10
1 1 32
2 1 32
3 1 9
4 1 32
5 1 10
6 2 10
7 2 33
8 2 54
9 2 9
10 2 31
11 2 10
12 3 10
13 3 54
14 3 53
15 3 11
16 3 33
17 3 54
我想添加标题为“唯一”的第三列,其值为“是”或“否”。如果带有标签“ID”的列中的索引值多次出现并且它们具有相同的“PROJECT”值,则必须将该值归为“否”,否则为“是”。所以我想要的结果是这样的:
PROJECT ID Unique
0 1 10 No
1 1 32 No
2 1 32 No
3 1 9 Yes
4 1 32 No
5 1 10 No
6 2 10 No
7 2 33 Yes
8 2 54 Yes
9 2 9 Yes
10 2 31 Yes
11 2 10 No
12 3 10 Yes
13 3 54 No
14 3 53 Yes
15 3 11 Yes
16 3 33 Yes
17 3 54 No
您基本上必须将具有相同 PROJECT 值的行视为一个子集,您必须为其确定相应 ID 值的唯一性。 'PROJECT' 值不同的行没有连接。我尝试了几件事,将 np.groupby 、 np.isin 或 np.unique 与某种循环结合起来,但它还没有奏效。
【问题讨论】:
标签: python pandas dataframe group-by unique