首页 > 解决方案 > 在Python中的DataFrame的列中重复第n次​​值

问题描述

我在 Python 中有一个包含 3532 行和 20 列的 DataFrame。我试图从“新”列的第一行到第 706 个值重复每个值的 5 次。如果您看到下面的列,我有 3532 行的“新”列,但我只想将每个值从第一行重复 5 次到第 706 行的值,那么我将有一个具有重复值的新列有 3532 行。如果有人有任何想法,我会很高兴。我在 numpy 和 pandas 中尝试过 df.repeat 也连接命令,但效果不佳

在此处输入图像描述

标签: pythonpandasdataframenumpydata-filtering

解决方案


numpy.repeatSeries构造函数一起使用:

df = pd.DataFrame({'Snew':range(3532)})

#seems in real data is necessary add next value (707) and filter 3532 values
df['Snew'] = np.repeat(df['Snew'].to_numpy()[:707], 5)[:3532]
print (df.tail())
      Snew
3527   705
3528   705
3529   705
3530   706
3531   706

推荐阅读