numpy 创建一个循环,将0-6计数100次

soat7uwm  于 2022-11-10  发布在  其他
关注(0)|答案(6)|浏览(168)

我正在尝试创建一个循环,用从0到6的值填充一个列表100次。我像这样累了它,但我似乎它自己乘它100*6

ls = []
x = 0
i = 0
y = 0

while x != 10:
    for i in range (1,7):
        ls.append(i)
        x +=1

print(ls)

有谁知道解决这个问题的办法。先谢谢你。如果有人也知道Pandas的解决方案,那就太好了!

z9zf31ra

z9zf31ra1#

您不需要循环:

N = 6
lst = list(range(N+1))*100

使用numpy/pandas

import numpy as np
import pandas as pd

N = 6

a = np.tile(np.arange(N+1), 100)

s = pd.Series(a)
mhd8tkvw

mhd8tkvw2#

您可以使用range

>>> list(range(7))*100

或者,您可以使用numpy.tile

>>> import numpy as np
>>> np.tile(np.arange(7), 100)
i34xakig

i34xakig3#

以下是使用Pandas执行此操作的一种方法:

import pandas as pd

df = pd.DataFrame([0,1,2,3,4,5,6] * 100)
wecizke3

wecizke34#

ls = list(range(1, 7)) * 100

收益率

[1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6...

总长度为600个项目。
如果你想要100个项目,少生成一点,然后削减清单:

ls = (list(range(1, 7)) * (100 // 6 + 1))[:100]
ffscu2ro

ffscu2ro5#

不如这样吧:

LIST_TO_REPEAT = [1,2,3,4,5,6]
REPEAT_AMOUNT = 100

array = []

for i in range(0, REPEAT_AMOUNT):
    array = array + LIST_TO_REPEAT

print(array)

这会将列表添加到List_to_Repeat到数组Repeat_Amount的次数

7gs2gvoe

7gs2gvoe6#

ls = [i for _ in range(100) for i in range(0, 7)]
print(ls)

相关问题