2015-11-23 19 views
5

In Pandas, è disponibile una nuova opzione di styler per la formattazione dei CSS (http://pandas.pydata.org/pandas-docs/version/0.17.1/generated/pandas.core.style.Styler.html).Applica la formattazione del numero a Pandas Stile CSS HTML

Prima, quando ho voluto fare i miei numeri in termini di contabilità/dollaro, vorrei usare qualcosa come di seguito:

df = pd.DataFrame.from_dict({'10/01/2015': {'Issued': 200}}, orient='index') 
html = df.to_html(formatters={'Issued': format_money}) 

funzione format_money:

def format_money(item): 
    return '${:,.0f}'.format(item) 

Ora voglio utilizzare lo stile opzioni e mantieni la mia formattazione $. Non vedo alcun modo per farlo.

stile di formattazione per esempio potrebbe essere qualcosa di simile:

s = df.style.bar(color='#009900') 
    #df = df.applymap(config.format_money) -- Doesn't work 
    html = s.render() 

Questo aggiungerebbe bar alla mia tabella HTML in questo modo (Documenti qui: http://pandas.pydata.org/pandas-docs/stable/style.html):

from http://pandas.pydata.org/pandas-docs/stable/style.html

Quindi, in pratica, come faccio a fare qualcosa come aggiungere le barre e mantenere o anche aggiungere la formattazione del dollaro al tavolo? Se provo a farlo prima, le barre di stile non funzionano perché ora non possono dire che i dati sono numerici e che errori. Se provo a farlo dopo, annulla lo stile.

risposta

2

Che non è stato ancora implementato (versione 0.17.1) - ma c'è una richiesta di pull per quello (https://github.com/pydata/pandas/pull/11667) e dovrebbe uscire in 0.18. Per ora devi limitarti ad usare i formattatori.

+0

Bene, come utilizzerei i formattatori in questo caso? O stai dicendo di usare i formattatori in termini di non poterli fare entrambi? – user1610719

+1

si limita ad usare solo i formattatori per ora - non vedo il modo di aggirare questo problema per ora - immagino che '.bar' e' highlight_min', 'highlight_max' ecc. Dovrebbero tutti prendere' kwargs' per il formati di dati di colonne, potresti archiviare un problema per questo su github.com/pydata/pandas in modo che i manutentori possano rintracciarlo, magari collegare anche il 'PR' dalla mia risposta al problema. –

Problemi correlati