Python 从列表中每m行提取n行

Python 从列表中每m行提取n行,python,list,split,Python,List,Split,我有一个828个值的数据列。在列中,它会多次重复数字1-18。我想要一个新的专栏,每18行抓取5行,这样它可以重复1-5次。这并不是我的数据看起来的样子,但方法与我想要对实际数据执行的操作相同 重复1-18的数据列存储在df_ROI中 我尝试了这行代码,但它只是每5行跳过一次,而没有将数字保持在中间: df_rois2 = df_rois[::5] 我目前拥有的df_ROI: [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 2 3 4 5 6 7

我有一个828个值的数据列。在列中,它会多次重复数字1-18。我想要一个新的专栏,每18行抓取5行,这样它可以重复1-5次。这并不是我的数据看起来的样子,但方法与我想要对实际数据执行的操作相同

重复1-18的数据列存储在df_ROI中

我尝试了这行代码,但它只是每5行跳过一次,而没有将数字保持在中间:

df_rois2 = df_rois[::5]
我目前拥有的df_ROI:

[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18]
我在df_rois2中想要什么:

[ 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5]

您可以循环18个长度切片并提取前5个元素,然后使用
extend
将它们添加到
df_rois2

df_rois2 = []

for i in range(0, len(df_rois), 18):
    df_rois2.extend(df_rois[i:i + 5])

print(df_rois2)
输出:

[1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5]

我刚刚复制并粘贴了您提供的代码,输出的都是0。我遗漏了什么吗?@Nycbros这取决于你如何使用它,你使用的例子是什么?对不起。在我的代码中有不止一列,我只是没有正确索引。谢谢你的帮助!