python - 格式化numpy数组
问题描述
我正在尝试将两个 2D numpy 数组格式化为与此类似的格式: 表格格式
目前,我已将 2 个数组转置为坐标:
##Transposes both arrays into coordinates
gameSet = np.array((player1,player2)).T
然后我遍历数组以获得类似的形式:
##iterates through 2D numpy array
for player1 in range(0, row-1):
print(" ")
for player2 in range(0, col-1):
print (gameSet[player1,player2], end = "")
使用上面的代码,我得到了类似的格式,但我希望它在轴上具有 A1...An 和 B1....Bn。知道我该怎么做或可能有助于格式化的包吗?有什么帮助,谢谢!
解决方案
如何使用基本 Python 格式的插图
数组:
In [188]: arr = np.arange(12).reshape(3,4)
生成标签:
In [189]: rlbl = ['A{}'.format(i) for i in range(arr.shape[0])]
In [190]: clbl = ['B{}'.format(i) for i in range(arr.shape[1])]
格式化字符串:
顶行:
In [192]: tfmt = ' ~ ||'+'|'.join(['%10s']*arr.shape[1])
In [193]: tfmt%tuple(clbl)
Out[193]: ' ~ || B0| B1| B2| B3'
数据行:
In [194]: rfmt = '%5s||'+'|'.join(['%10d']*arr.shape[1])
In [195]: rfmt%(rlbl[0], *tuple(arr[i,:]))
Out[195]: ' A0|| 4| 5| 6| 7'
收集行:
In [201]: astr = [_193]
In [202]: for i in range(arr.shape[0]):
...: astr.append(rfmt%(rlbl[i], *tuple(arr[i,:])))
...:
并打印:
In [203]: print('\n'.join(astr))
~ || B0| B1| B2| B3
A0|| 0| 1| 2| 3
A1|| 4| 5| 6| 7
A2|| 8| 9| 10| 11
推荐阅读
- javascript - 如何以编程方式提供和使用上下文?
- auth0 - 如何处理 auth0 中失败的静默身份验证错误
- excel - 替换除第 6 行以外的重音字符
- sql - Sqlite 移动平均每分钟
- graphql - 如何删除 Graphene Django 突变查询(中继)中的嵌套输入对象?
- javascript - 如何在移动设备的 JavaScript 中查看光标在哪个 div 上?
- vue.js - 在 vue 中仅在特定组件中使用 scss 而不是其他组件
- security - 使用身份在 .net 核心应用程序中强制使用 2FA
- android - 在这种情况下如何在 MainThread 上运行 doOnSubscribe
- jquery - 根据鼠标指针定位 jQueryUI 工具提示