如何使用Pandas按指定次数重复DataFrame行生成新表
Pandas 实现每行重复指定次数的方法
最简实现方案
直接使用Pandas索引的repeat方法完成需求,代码如下:
# 对df1的每一行重复18次,重置索引后得到目标df2 df2 = df1.loc[df1.index.repeat(18)].reset_index(drop=True)
代码说明
df1.index.repeat(18)会将原df1的15个索引值每个重复18次,生成总长度270的索引序列- 用
loc按生成的重复索引取数,即可得到每行重复18次的结果 - 最后调用
reset_index(drop=True)重置索引为0~269的连续序列,避免索引重复带来的后续操作问题
可选实现方案
也可以配合Numpy的repeat方法实现,代码如下:
import numpy as np df2 = pd.DataFrame(np.repeat(df1.values, 18, axis=0), columns=df1.columns)
结果验证
执行完成后调用df2.shape即可看到输出为(270, 1),符合要求,数据顺序为原df1每行依次重复18次。
内容的提问来源于stack exchange,提问作者user2100039
相关产品推荐
相关产品推荐

