Pandas 系列正在为另一个系列分配索引而不是值

Pandas series is assigning index rather than value to another series

我正在寻找类似的解决方案,但找不到,而且 运行 没时间了,所以我不得不写下这个问题,请帮助我。 首先,我使用 pandas 来获取输出,所以请帮助我。
所以我想要实现的是我想将一组特定的 groupby 分配给另一行 所以例如我在 groupby 中有一个组,我想在同一行的另一列中,所以我将这个值分配给另一列,因为它是按行写的,所以它会写在不同列的同一行中(我怀疑它也是,但在克服当前障碍后会看到)但我没有获取组的值,而是在其他列示例中获取组的行号如下:

group_count=df['id'].value_counts()
group_count=group_count.to_dict()

for i in group_count:
    for j in range(group_count[i]):
        df['masked_id_'+str(j+1)].iloc[j:j+1]=gk.get_group(i)['masked_id'].iloc[j:j+1]

我想要实现的就是将重复 ID 的 masked_id 转移到不同的列中,例如我有 3 个相似的 ID 说:

 id    masked_id
1 23234 XXXX4
2 23234 XXXX4
3 23234 XXXX4

将其变成如下所示:

  id    masked_id_1 masked_id_2 masked_id_3
1 23234 XXXX4       XXXX4       XXXX4

但我得到的是:

id      masked_id_1 masked_id_2 masked_id_3
23234   1           2           3

正在寻找朝类似方向传播的任何指导,非常感谢您抽出时间。

更新(关于 gk 的信息):

gk = df.groupby(by='id')

试试这个:

new_df = df.groupby('id')['masked_id'].agg(list).agg(pd.Series)
new_df.columns = 'masked_id_' + (new_df.columns+1).astype(str)
new_df = new_df.reset_index()

输出:

>>> new_df
      id masked_id_1 masked_id_2 masked_id_3
0  23234       XXXX4       XXXX4       XXXX4