Есть ли способ перебрать матрицу / массив / df каждые 30 строк, чтобы вернуть scipy.stats.describe - PullRequest
0 голосов
/ 01 ноября 2019

Я хочу цикл, который проходит по каждой 30-й строке массива (1095, 10000), возвращает 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()

a для цикла, который является более интуитивным, чем у меня уже есть

1 Ответ

0 голосов
/ 01 ноября 2019

Предполагая, что ваша матрица является пустым массивом, этот цикл проходит каждую 30-ю строку (1095,10000) матрицы единиц и сохраняет результаты 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])]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...