python - 有没有办法每 30 行循环一次矩阵/数组/df 以返回 scipy.stats.describe
问题描述
我想要一个循环遍历 (1095, 10000) 数组的每 30 行,返回 ascipy.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 循环
解决方案
假设您的矩阵是一个 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])]
推荐阅读
- excel - VBA 根据单元格值自动执行 Power Query
- java - 如何在属性上添加标称值?
- java - 使用构造函数表达式直接创建 DTO
- python - 在不同的 conda 环境中调用另一个 python 脚本(使用子进程)
- python - Google Drive API:检查文件夹是否存在
- python - 为什么 Django 2.2.1 不调用 get_absolute_url()
- excel - 错误 91 对象变量或未设置块变量
- javascript - 交互后如何获取iframe的刷新src
- node.js - 如何修复来自节点端 socket.io 的双重响应?
- reactjs - 如何避免使用 ref 渲染加载器