我有一个数据框,想要将数据框的每一行重复 k
次。同时,我还想创建一个列,该列的值为 0
到 k-1
。
和这里提出的问题类似:here。
import pandas as pd
df = pd.DataFrame(data={
'id': ['A', 'B', 'C'],
'n' : [ 1, 2, 3],
'v' : [ 10, 13, 8]
})
what_i_want = pd.DataFrame(data={
'id': ['A', 'B', 'B', 'C', 'C', 'C'],
'n' : [ 1, 2, 2, 3, 3, 3],
'v' : [ 10, 13, 13, 8, 8, 8],
'repeat_id': [0, 0, 1, 0, 1, 2]
})
以下命令完成了一半的工作。我正在寻找Pandas的方法来添加repeat_id
列。
df.loc[df.index.repeat(df.n)]