按顺序重复一系列 n 次

问题描述

我有一系列 24 小时的数据,需要将它扩展到全年,使与每小时相关的值重复 365 次(例如 1.am = 0.256 的值我需要这个值在凌晨 2 点之前和中午 12 点之后以特定顺序重复 365 次) 例如,我只需要 2 次重复所需的输出: (0,1,2,3,....23,....23) 我不需要这样的东西: (0,23)

解决方法

如果你只是想要一个重复的序列,你可以这样做 -

import pandas as pd
import numpy as np

X = np.arange(3)

R = np.repeat(X[None,:],5,axis=0).reshape(15)

print(R)

给予 -

[0 1 2]
[0 1 2 0 1 2 0 1 2 0 1 2 0 1 2]

R 就是你要找的

,

你试过 np.tile 吗?

import numpy as np

# Your array
l = np.array([0,1,2,3])

# Number of repeats
n = 10

# Final array
r = np.tile(l,n)
,

列表类型在 Python 中是可加的,所以

print([1,3] + [1,3])

给出输出

[1,3,3]

乘以一个整数只是将列表与自身相加多次,所以

print([1,3]*3)

给出输出

[1,3]

所以您希望 list(range(24))*365 获得您的时间戳并希望 list(your_data)*365 获得您的数据值