Konstrueerime näidisandmed kahemõõtmelise massiivina:

temp = np.arange(5.0, 60.0, 2.5)
rõhk = (22.5 + 273.15) * 101.3 / (temp + 273.15)
andmed = np.column_stack((temp, rõhk))

Lihtsaim viis sellise massiivi kuvamiseks on käsuga print(andmed), mis annab tulemuseks

[[  5.         107.6733597 ]
 [  7.5        106.714217  ]
 [ 10.         105.7720113 ]
 [ 12.5        104.84629792]
 [ 15.         103.93664758]
 [ 17.5        103.04264579]
 [ 20.         102.16389221]
 [ 22.5        101.3       ]
 [ 25.         100.45059534]
 [ 27.5         99.61531681]
 [ 30.          98.79381494]
 [ 32.5         97.98575168]
 [ 35.          97.19079994]
 [ 37.5         96.40864317]
 [ 40.          95.63897493]
 [ 42.5         94.8814985 ]
 [ 45.          94.13592645]
 [ 47.5         93.40198035]
 [ 50.          92.67939038]
 [ 52.5         91.96789498]
 [ 55.          91.26724059]
 [ 57.5         90.57718131]]

Andmetulbad on küll joondatud, aga tabelil puudub päis ja arvude täpsus/vorming on meelevaldne. Vaid mõne täiendava koodireaga saab tulemust ilustada, kui trükkida kõik read eraldi:

print('Temp. (°C)  Rõhk (kPa)')
print('-' * 22)
for rida in andmed:
    print('%10.1f  %10.2f' % tuple(rida))
Temp. (°C)  Rõhk (kPa)
----------------------
       5.0      107.67
       7.5      106.71
      10.0      105.77
      12.5      104.85
      15.0      103.94
      17.5      103.04
      20.0      102.16
      22.5      101.30
      25.0      100.45
      27.5       99.62
      30.0       98.79
      32.5       97.99
      35.0       97.19
      37.5       96.41
      40.0       95.64
      42.5       94.88
      45.0       94.14
      47.5       93.40
      50.0       92.68
      52.5       91.97
      55.0       91.27
      57.5       90.58

Kui on antud eraldi andmevektorid, saab kasutada zip-funktsiooni:

print('Temp. (°C)  Rõhk (kPa)')
print('-' * 22)
for t, p in zip(temp, rõhk):
    print('%10.1f  %10.2f' % (t, p))

Kuivõrd Jupyteri märkmeraamat jookseb veebilehitsejas, on võimalik ekraanile renderdada kõike mida erinevad veebitehnoloogiad (HTML, CSS, jne) võimaldavad. Et me ei peaks HTML-tabelit ise programmeerima, kasutame paketti pandas:

import pandas as pd
from IPython.display import display

def näita_tabelina(andmed, päis, vorming):
    df = pd.DataFrame(andmed, columns = päis)
    df.index += 1  # muidu algavad reanumbrid 0-st
    display(df.style.format(dict(zip(päis, vorming))))

Nüüd saame tabeli järgmise käsuga:

näita_tabelina(andmed, ('Temp. (°C)', 'Rõhk (kPa)'), ('{:.1f}', '{:.2f}'))

Vaata lisaks

Sisukord