对于 A 列中的每个值,B 列中应该只有一个值 - Pandas
There should be one and only one value in column B for every value in column A - Pandas
我有一个数据框,如图所示:
我想要类似于 Value
列的输出。
这意味着对于列 A
中的每个值,在列 B
中只能有一个值。
即使 A
列中的值重复,B
列中的值也应重复。
请帮忙
使用 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
我有一个数据框,如图所示:
我想要类似于 Value
列的输出。
这意味着对于列 A
中的每个值,在列 B
中只能有一个值。
即使 A
列中的值重复,B
列中的值也应重复。
请帮忙
使用 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