Python 有没有办法每30行循环一次矩阵/数组/df以返回scipy.stats.description

Python 有没有办法每30行循环一次矩阵/数组/df以返回scipy.stats.description,python,python-3.x,loops,scipy,Python,Python 3.x,Loops,Scipy,我需要一个循环,它遍历(10951000)数组的每30行,返回一个scipy.stats.descripe(矩阵[30]),并将这些结果写入一个列表 我已经尝试过手动操作,并且可以正常工作,我正在尝试优化我的代码 stats150=scipy.stats.description(矩阵[150]) 列出所有统计数据+=['150:',统计数据150] stats180=scipy.stats.description(矩阵[180]) 列出所有统计数据+=['180:',统计数据180] stats

我需要一个循环,它遍历(10951000)数组的每30行,返回一个
scipy.stats.descripe(矩阵[30])
,并将这些结果写入一个列表

我已经尝试过手动操作,并且可以正常工作,我正在尝试优化我的代码

stats150=scipy.stats.description(矩阵[150])
列出所有统计数据+=['150:',统计数据150]
stats180=scipy.stats.description(矩阵[180])
列出所有统计数据+=['180:',统计数据180]
statsOut=open(“myOutputStatsFile.txt”、“w”)
对于列表中的行\u,对于\u统计信息:
#将行写入输出文件
statsOut.write(str(行))
statsOut.write(“\n”)
statsOut.close()

一个比我已有的更直观的for循环

假设你的矩阵是一个numpy数组,这个循环每经过一个(109510000)1矩阵的第30行,并存储scipy。将结果和行号一起描述为列表中的字符串:

import numpy as np
import scipy
matrix = np.ones(shape=(1095,10000))
list_for_stats=[]
for i in range(0,matrix.shape[0],30):
    list_for_stats +=[str(i)+':', scipy.stats.describe(matrix[i])]