Print data frame mit den Spalten zentriert ausgerichtet
Möchte ich zum drucken einen Daten-frame, wo die Spalten werden zentriert ausgerichtet. Unten ist das, was ich habe, habe ich versucht, ich dachte, das drucken der Daten-frame test1, würde das Ergebnis in den Spalten ausgerichtet in der Mitte, aber dies ist nicht der Fall. Irgendwelche Gedanken auf, wie ich dies tun kann?
test=data.frame(x=c(1,2,3),y=c(5,6,7))
names(test)=c('Variable 1','Variable 2')
test[,1]=as.character(test[,1])
test[,2]=as.character(test[,2])
test1=format(test,justify='centre')
print(test,row.names=FALSE,quote=FALSE)
Variable 1 Variable 2
1 5
2 6
3 7
print(test1,row.names=FALSE,quote=FALSE)
Variable 1 Variable 2
1 5
2 6
3 7
- Meinst du die Mitte der Spalte? Also 1, 2, 3 line-up unter die
a
(ungefähr) inVariable 1
? - Ja, dass ist es, was ich meine.
- Nicht meine Antwort richten Sie Ihre Frage ausreichend? Wenn nicht, fügen Sie bitte einen Kommentar, damit Ihre Frage weiter gearbeitet.
- Super Antwort, Danke.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das problem ist, dass, um für diese zu arbeiten, wie Sie erwarten, die "
width
" argument muss ebenfalls angegeben werden.Hier ein Beispiel:
Aber, wie funktioniert diese Herangehensweise arbeiten mit Spalten, in denen die Namen der Variablen sind unterschiedliche Längen? Nicht so gut.
Gibt es natürlich einen workaround: ändern Sie die "Breite" der einzelnen Variablen-Namen werden von gleicher Länge, die durch Auffüllung mit Leerzeichen (mit
format()
)sprintf
+1rufen Sie diese Funktion verwenden, um ein dataframe, um anzuzeigen, wie:
z.B.:
Dies zentriert ausrichten-sowohl die Header und den eigentlichen Daten-Zellen, und Sie können entfernen Sie entweder die
td
oder dieth
zu deaktivieren, entweder, wenn Sie möchten.Quelle: https://github.com/pandas-dev/pandas/issues/12144