python-3.x - 如何在不使用熊猫的情况下在列中打印 numpy 数组?
问题描述
这是我的基本代码:
import numpy as np
a = numpy.asarray([ [1,2,3], [4,5,6], [7,8,9] ])
我想按如下方式打印数组:
1 4 7
2 5 8
3 6 9
另外,如果我的数组中有 1000 个嵌入列表,我将如何处理相同的概念?
解决方案
这是一个没有循环的强大的单行解决方案:
print('\n'.join(map(lambda line: ' '.join(map(str, line)), a.T)))
a.T
转置二维数组,第一个map
编码字符串中的一行,第二个连接字符串行(通过使用\n
between)。
这是带有生成器的替代版本(可能更慢):
print('\n'.join(' '.join(str(item) for item in line) for line in a.T))
带有一个循环的另一种解决方案(可能更慢):
for line in a.T:
print(' '.join(str(item) for item in line))
注意最后一个版本产生一个尾随的新行。
推荐阅读
- python - 使用 Python (selenium) 的自动 9GAG 评论被删除了吗?
- r - 关于 raster 包中的 mask() 函数的困惑
- eclipse - 在后台运行 git bash/作为守护进程
- google-maps-api-3 - 谷歌表importxml公式错误
- sql - 为基于 SQL 的报告显示的字符数
- java - 为什么 JProgressBar 一旦添加到 JPanel 就不应更改?
- php - 使用第一个查询中的变量从第二个查询中获取结果时出错
- r - R中的滞后残差作为自变量
- php - 在 null 上调用成员函数 isCollection()
- python - 单击按钮时,Python Flask 停止处理路由