Ric*_*all 3 python arrays list
我正在尝试打印天文学模拟的输出,以便它在我的控制台中看起来不错。我生成了 4 个 numpy 数组,分别称为振幅、质量、周期和偏心率,我想将它们放在一个表中。每个数组的第一个索引是行星 1 的值,第二个索引是行星 2 的值,依此类推。
所以我的数组看起来像(值都是浮点数,例如“a1”只是一个占位符):
amp = [a1 a2 a3 a4]
mass = [m1 m2 m3 m4]
period = [p1 p2 p3 p4]
ecc = [e1 e2 e3 e4]
Run Code Online (Sandbox Code Playgroud)
我希望我的桌子看起来像:
planet|amp|mass|period|ecc
1 |a1 |m1 |p1 |e1
2 |a2 |m2 |p2 |e2
...
Run Code Online (Sandbox Code Playgroud)
我尝试过使用 tabulate 和类似的东西:
print tabulate(['1', amp[0], mass[0], period[0], ecc[0]], headers=[...])
Run Code Online (Sandbox Code Playgroud)
但我收到“numpy.float64”对象不可迭代的错误
任何帮助,将不胜感激!
您可以将zip()与tabulate结合使用来创建一个更漂亮的表格:
from tabulate import tabulate
headers = ['planet', 'amp', 'mass', 'period', 'ecc']
amp = [1.1, 1.2, 1.3, 1.4]
mass = [2.1, 2.2, 2.3, 2.4]
period = [3.1, 3.2, 3.3, 3.4]
ecc = [4.1, 4.2, 4.3, 4.4]
planet = range(1, len(amp)+1)
table = zip(planet, amp, mass, period, ecc)
print(tabulate(table, headers=headers, floatfmt=".4f"))
Run Code Online (Sandbox Code Playgroud)
planet amp mass period ecc
-------- ------ ------ -------- ------
1 1.1000 2.1000 3.1000 4.1000
2 1.2000 2.2000 3.2000 4.2000
3 1.3000 2.3000 3.3000 4.3000
4 1.4000 2.4000 3.4000 4.4000
Run Code Online (Sandbox Code Playgroud)