Als Python-Neuling ich kürzlich entdeckt, dass mit Py 2.7 Ich kann so etwas tun:Py Pandas .format (Datenrahmen)
print '{:20,.2f}'.format(123456789)
, die die resultierende Ausgabe geben wird:
123,456,789.00
Ich bin jetzt ein ähnliches Ergebnis zu haben, für eine Pandas df suchen so mein Code wie war:
import pandas as pd
import random
data = [[random.random()*10000 for i in range(1,4)] for j in range (1,8)]
df = pd.DataFrame (data)
print '{:20,.2f}'.format(df)
In diesem Fall habe ich den Fehler:
Irgendwelche Vorschläge, um etwas wie '{:20,.2f}'.format(df)
durchzuführen?
Wie jetzt ist meine Idee, den Datenrahmen zu indexieren (es ist ein kleiner), dann formatiert jedes einzelne float darin, könnte astype (str) zugewiesen werden und den DF neu erstellen ... sieht aber so hässlich aus: - (und ich bin mir nicht einmal sicher, ob es funktioniert.
Was denkst du? Ich stecke fest ... und möchte ein besseres Format für meine Datenrahmen haben, wenn diese in Berichtslabels Grids umgewandelt werden.
Vielen Dank dafür! Sieht perfekt aus :-) für den Datenrahmen. Es ist ein großer Schritt nach vorne .. jetzt bin ich mit dem nächsten Thema konfrontiert, das über reportlab ist .. ha ha .. lustig .. wenn DF in Raster konvertiert wird dann werde ich anscheinend das Format verlieren .. uffff .... aber Ich werde in irgendeiner Weise behandeln .. Große Hilfe von dir !! Ich danke dir sehr !! –
Kann dies auch tun als 'pd.options.display.float_format = '{: 20, .2f}'. Format' oder' pd.set_option ('float_format', '{: 20, .2f}'. Format) ' :) http://pandas.pydata.org/pandas-docs/stable/basics.html#working-with-package-options –
@AndyHayden: Danke für den Tipp! – unutbu