2013-02-15 20 views
6

Do generowania pliku wyjściowego używam pandy "to_html", gdy dane są zapisywane do pliku, mają wiele cyfr po przecinku dziesiętnym. Pandy to_html metody float_format może ograniczyć cyfry, ale kiedy użyłem 'float_format' jak poniżej:Dane wyjściowe formatu w pandach to_html

DataFormat.to_html(header=True,index=False,na_rep='NaN',float_format='%10.2f') 

to podniesie wyjątek:

typeError: 'str' object is not callable 

Jak rozwiązać ten problem?

Odpowiedz

10

Z to_html docs:

float_format : one-parameter function, optional 
    formatter function to apply to columns' elements if they are floats 
    default None 

Trzeba przekazać funkcję. Na przykład:

>>> df = pd.DataFrame({"A": [1.0/3]}) 
>>> df 
      A 
0 0.333333 

>>> print df.to_html() 
<table border="1" class="dataframe"> 
    <tr> 
     <th>0</th> 
     <td> 0.333333</td> 
    </tr> 
[...] 

ale

>>> print df.to_html(float_format=lambda x: '%10.2f' % x) 
<table border="1" class="dataframe"> 
[...] 
    <tr> 
     <th>0</th> 
     <td>  0.33</td> 
    </tr> 
[...] 
Powiązane problemy