0

我有一个数据框,如图所示:

在此处输入图像描述

我想要一个类似于ValueColumn 的输出。
这意味着对于列中的每个值,列A中只能有一个且只有一个值B
即使列A中的值重复,列中的值B也应该重复。
请帮忙

4

1 回答 1

0

用于transform将每个“A”值遇到的第一个“B”值设置为每一行,然后测试第一个值是否等于“B”值。

df['V'] = df['B'] == df.groupby('A')['B'].transform('first')

输出:

>>> df
   A  B      V
0  1  a   True
1  1  a   True
2  2  a   True
3  3  b   True
4  1  a   True
5  2  b  False
6  3  c  False
7  1  d  False

细节:

>>> df.groupby('A')['B'].transform('first')
0    a
1    a
2    a
3    b
4    a
5    a
6    b
7    a
Name: B, dtype: object
于 2021-09-20T20:53:52.953 回答