有没有一种方法可以每30行循环遍历matrix / array / df以返回scipy.stats.describe

时间:2019-10-31 21:37:36

标签: python python-3.x loops scipy

我想要一个遍历(1095,10000)数组的第30行的循环,返回一个scipy.stats.describe(matrix[30])并将这些结果写入列表中

我尝试手动进行操作并且可以正常工作,我正在尝试优化代码

stats150 = scipy.stats.describe(matrix[150])
list_for_stats +=['150:', stats150]

stats180 = scipy.stats.describe(matrix[180])
list_for_stats += ['180:', stats180]

statsOut = open("myOutputStatsFile.txt", "w")
for line in list_for_stats:
    # write line to output file
    statsOut.write(str(line))
    statsOut.write("\n")
statsOut.close()

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

1 个答案:

答案 0 :(得分:0)

假设矩阵是一个numpy数组,此循环将遍历(1095,10000)个矩阵的第30行,并将scipy.describe结果和行号作为字符串存储在列表中:

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