NumPy: Jolie impression de données tabulaires
Je voudrais imprimer des tableaux NumPy tableau de données, de sorte qu'il a l'air sympa. R et de la base de données des consoles semblent démontrer de bonnes capacités pour ce faire. Cependant, NumPy intégré dans l'impression des tableaux des tableaux ressemble à ordures:
import numpy as np
dat_dtype = {
'names' : ('column_one', 'col_two', 'column_3'),
'formats' : ('i', 'd', '|S12')}
dat = np.zeros(4, dat_dtype)
dat['column_one'] = range(4)
dat['col_two'] = 10**(-np.arange(4, dtype='d') - 4)
dat['column_3'] = 'ABCD'
dat['column_3'][2] = 'long string'
print(dat)
# [(0, 0.0001, 'ABCD') (1, 1.0000000000000001e-005, 'ABCD')
# (2, 9.9999999999999995e-007, 'long string')
# (3, 9.9999999999999995e-008, 'ABCD')]
print(repr(dat))
# array([(0, 0.0001, 'ABCD'), (1, 1.0000000000000001e-005, 'ABCD'),
# (2, 9.9999999999999995e-007, 'long string'),
# (3, 9.9999999999999995e-008, 'ABCD')],
# dtype=[('column_one', '<i4'), ('col_two', '<f8'), ('column_3', '|S12')])
Je voudrais quelque chose qui ressemble plus à ce qu'une base de données crache, par exemple, postgres-style:
column_one | col_two | column_3
------------+---------+-------------
0 | 0.0001 | ABCD
1 | 1e-005 | long string
2 | 1e-008 | ABCD
3 | 1e-007 | ABCD
Il un bon tiers bibliothèques Python pour format agréable à regarder ASCII tables?
Je suis à l'aide de Python 2.5, NumPy 1.3.0.
Cette question Python: impression ascii tables? peut aider.
cette discussion peut également être intéressant pour vous et les autres qui finissent ici par une recherche google.
cette discussion peut également être intéressant pour vous et les autres qui finissent ici par une recherche google.
OriginalL'auteur Mike T | 2012-03-14
Vous devez vous connecter pour publier un commentaire.
Je semble avoir un bon rendement avec prettytable:
Et la sortie n'est pas mauvaise. Il y a même un
border
commutateur, parmi quelques autres options:prettytable
fait maintenant partie de PyPI à compter du 7 avril 2013: pypi.python.org/pypi/PrettyTable. En tant que tel, vous pouvez simplement utiliserpip
oueasy_install
de l'installer maintenant au lieu de la télécharger par le biais de Google Code. BTW, merci pour l'astuce ici. +1.OriginalL'auteur Mike T
vous pouvez prendre avantage de la matrice de la compréhension et de l'utilisation de printf chaînes de format:
https://en.wikipedia.org/wiki/Printf_format_string
Et vous pouvez obtenir encore plus personnalisée si vous allez jusqu'à la version 2.7
OriginalL'auteur story645
Vous pourriez vouloir vérifier les Pandas, qui a beaucoup de fonctionnalités intéressantes pour traiter les données tabulaires et semble jeter les choses mieux lors de l'impression (Il est destiné à être un python de remplacement pour R):
http://pandas.pydata.org/
OriginalL'auteur JoshAdel
La
compiler
paquet fonctionne bien pour les tableaux Numpy:(Code ci-dessus est Python 3; pour Python 2 ajouter
from __future__ import print_function
au-dessus de script)De sortie:
Le package installe via
pip
:OriginalL'auteur Sean