我有一个难题。
我的数据有一个 ID、一个分组键、一个标签和第二个标签。看起来有点像这样
|----|----------|-------|------|
|id |group_col |label1 |label2|
|--- |----------|-------|------|
|1 | 1 | abcd | 123 |
|2 | 1 | nfrv | 123 |
|3 | 2 | dfgd | |
|4 | 3 | kgff | 899 |
|5 | 3 | kgff | 899 |
|6 | 3 | ygoi | |
|7 | 4 | tgfo | |
|8 | 4 | tgfo | |
|----|----------|-------|------|
现在我的挑战是在每个组中检查两个人是否具有相同的 label2 值,如果是,则将其传播给该组的所有成员。并且另外为整个组(最好是第一个人)设置相同的 label1 值(如果人们有想法,也可以在新列中)。
预期的输出应该是这样的:
|----|----------|-------|------|------------|
|id |group_col |label1 |label2| label1_new |
|--- |----------|-------|------|------------|
|1 | 1 | abcd | 123 | abcd |
|2 | 1 | abcd | 123 | abcd |
|3 | 2 | dfgd | | dfgd |
|4 | 3 | kgff | 899 | kgff |
|5 | 3 | kgff | 899 | kgff |
|6 | 3 | ygoi | 899 | kgff |
|7 | 4 | tgfo | | tgfo |
|8 | 4 | tgfo | | tgfo |
|----|----------|-------|------|------------|
另外请注意,这将必须在数百万行/组上运行,因此应该尽可能高效
谢谢你的帮助