2017-12-24 3 views
1

Ich lerne Python 3.So drucken Sie Daten in schön sauberer Weise

Ich importierte Datensatz von sklearn. Wenn ich es drucke, sieht es komisch aus. Welcher Befehl sollte verwendet werden, um Daten übersichtlich zu sehen: Spalte, Zeilen.

import statsmodels.api as sm 
from sklearn import datasets 
data = datasets.load_boston() 
print(data) 

enter image description here

Antwort

2

Zuerst müssen Sie verstehen, dass die Objektdaten, die Sie haben, diese Attribute erstellt nach dem official documentation:

  • data['data'] ein len() 506 Array ist. Jedes Element hat 13 andere Elemente, so dass len(data['data'][1]) tatsächlich 13 zurückgibt.
  • Sie können die data['feature_names'] als die "Spaltennamen" hier sehen, es hat 13 String-Elemente.

Jetzt, mit dieser Info, können Sie verstehen, dass eine Tabelle drucken Sie die Zeilen innerhalb data['data'] einen Header mit dem data['feature_names'] und drucken drucken können.

Greifen Sie diese tabular data snippet in python, können Sie es schön mit dem Tabulate-Modul drucken.

from tabulate import tabulate 
print tabulate(data['data'], headers=data['feature_names']) 

Dies ist das Ergebnis:

CRIM  ZN INDUS CHAS  NOX  RM AGE  DIS RAD TAX PTRATIO  B LSTAT 
0.00632 18  2.31  0 0.538 6.575 65.2 4.09  1 296  15.3 396.9  4.98 
0.02731 0  7.07  0 0.469 6.421 78.9 4.9671  2 242  17.8 396.9  9.14 
0.02729 0  7.07  0 0.469 7.185 61.1 4.9671  2 242  17.8 392.83  4.03 
0.03237 0  2.18  0 0.458 6.998 45.8 6.0622  3 222  18.7 394.63  2.94 

Sorry, wenn ich die Daten in einer falschen Art und Weise interpretiert, ich weiß nicht, was ‚Laden und gibt die Hauspreise Daten-Set Boston‘ verstandenes steht für, aber, dies sollte Ihnen helfen, die Daten in einer tabellarischen Weise zu drucken.

2

Pandas hat schöneren Druck. Versuchen Sie folgendes:

import pandas as pd 
df = pd.DataFrame(data['data']) 
print(df) 
1
for row in data: 
    print("{: >20} {: >20} {: >20}".format(*row)) 

Dies wird ein Layout mit drei Spalten erzeugen.