Ausgabe unterschiedliche Präzision bei der Spalte mit den pandas.DataFrame.to_csv()?

Frage

Ist es möglich, an eine float-Präzision, die speziell für jede Spalte gedruckt werden soll, indem Sie das Python - pandas Paket-Methode pandas.DataFrame.to_csv?

Hintergrund

Wenn ich eine pandas dataframe, angeordnet ist, wie dies:

In [53]: df_data[:5]
Out[53]: 
    year  month  day       lats       lons  vals
0   2012      6   16  81.862745 -29.834254   0.0
1   2012      6   16  81.862745 -29.502762   0.1
2   2012      6   16  81.862745 -29.171271   0.0
3   2012      6   16  81.862745 -28.839779   0.2
4   2012      6   16  81.862745 -28.508287   0.0

Gibt es die float_format option kann verwendet werden, um anzugeben, a Präzision, aber das passt, die Präzision in allen Spalten der dataframe, wenn gedruckt.

Wenn ich mich so:

df_data.to_csv(outfile, index=False,
                   header=False, float_format='%11.6f')

Bekomme ich die folgende, wo vals gegeben ist eine ungenaue Präzision:

2012,6,16,  81.862745, -29.834254,   0.000000
2012,6,16,  81.862745, -29.502762,   0.100000
2012,6,16,  81.862745, -29.171270,   0.000000
2012,6,16,  81.862745, -28.839779,   0.200000
2012,6,16,  81.862745, -28.508287,   0.000000
  • und was willst du als Ausgabe? lats und lange, mit 6 Ziffern und vals mit 1?
  • Oops... die Festsetzung mein Beispiel. Ja, für dieses Beispiel, aber ich hoffe, dass dies für andere Daten-sets, die mit unterschiedlichen Stufen der Genauigkeit.
InformationsquelleAutor ryanjdillon | 2013-11-15
Schreibe einen Kommentar