如何实现pandas DataFrame指定列每个值重复n次
实现方法
你可以直接用pandas内置的repeat方法实现,也可以搭配numpy.repeat完成需求,两种方式都能直接得到你要的结果:
方法1:使用pandas原生repeat方法(推荐)
import pandas as pd # 构造示例原始DataFrame df = pd.DataFrame({'Code': [1, 3, 4, 5]}) # 每一行重复5次后重置索引,去掉重复的旧索引值 df = df.loc[df.index.repeat(5)].reset_index(drop=True)
方法2:搭配numpy.repeat实现
np.repeat不是不能作用于DataFrame,只要基于索引定位就可以实现需求:
import pandas as pd import numpy as np df = pd.DataFrame({'Code': [1, 3, 4, 5]}) df = df.loc[np.repeat(df.index.values, 5)].reset_index(drop=True)
如果只需要处理Code单列,也可以直接对Series对象做重复操作:
df['Code'] = df['Code'].repeat(5).reset_index(drop=True)
内容的提问来源于stack exchange,提问作者tj judge
相关产品推荐
相关产品推荐

