python - 提取列表中每 m 行的 n 行

标签 python list split

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

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

我尝试了这行代码,但它只是每 5 跳过一次,而不保留中间的数字:

df_rois2 = df_rois[::5]

我目前在 df_rois 中拥有的内容:

[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]

关于python - 提取列表中每 m 行的 n 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57828764/

相关文章:

python - 数组的精确直方图

r - 将用户定义的函数应用于数据框列表

file - 如何将文件源拆分为字符串或单词

python - 使用静音检测分割音频文件

mysql - 具体拆分记录(字符串)为若干字段

python - Celery + Gevent 池在执行 1000 多个任务后挂起

Python 列表列移动

python - 如何在 Python 中对字典键进行排序

list - ViM:如何将输入对话框中的字符串放入列表中

java - 检查外部文件中是否存在值(java)