对于数据框中的每一行,我希望创建一个副本,并附加一列来标识每个副本.
E.g原始数据帧是
A | A
B | B
我希望使用附加列对每行进行复制以识别它.导致:
A | A | 1
A | A | 2
B | B | 1
B | B | 2
最佳答案 您可以在df.index上使用df.reindex,然后使用groupby.
df = df.reindex(df.index.repeat(2))
df['count'] = df.groupby(level=0).cumcount() + 1
df = df.reset_index(drop=True)
df
a b count
0 A A 1
1 A A 2
2 B B 1
3 B B 2
同样,使用reindex并使用np.tile分配:
df = df.reindex(df.index.repeat(2))\
.assign(count=np.tile(df.index, 2) + 1)\
.reset_index(drop=True)
df
a b count
0 A A 1
1 A A 2
2 B B 1
3 B B 2