首页 > 解决方案 > 在 Pandas 数据框中复制一行

问题描述

我有一个这种格式的数据集:

df = pd.DataFrame({'ID': [1,2,3,4],
                   'Type': ['A', 'B', 'C', 'D'],
                   'Value': [100, 200, 201, 120]})

我想多次复制这个数据框之一并添加新ID的增量。因此,新数据集如下所示:

df = pd.DataFrame({'ID': [1,2,3,4, 10, 11, 12, 13],
                       'Type': ['A', 'B', 'C', 'D', 'B', 'B', 'B', 'B'],
                       'Value': [100, 200, 201, 120, 200, 200, 200, 200]})

我可以通过以下方式复制行:

df_B = df[df['ID'] == 'B']
df_B = pd.concat([df_B]*4)

但是我无法ID逐步更新该列。

如果有人可以指导我。

谢谢!

标签: pandas

解决方案


你的意思是类似的东西吗?

print(df.append(df.loc[df['Type'].eq('B')].reset_index(drop=True).iloc[[0] * 4].reset_index(drop=True).assign(ID=df['ID'] + 9), ignore_index=True))

输出:

   ID Type  Value
0   1    A    100
1   2    B    200
2   3    C    201
3   4    D    120
4  10    B    200
5  11    B    200
6  12    B    200
7  13    B    200

推荐阅读