Отформатируйте знак £ с помощью панд to_html - PullRequest
0 голосов
/ 09 октября 2018

Я пытаюсь отформатировать вывод DataFrame с to_html, чтобы значения отображались с префиксом £.

df['gross'].map('£{0:,.0f}'.format)

Возвращает:

Попытка с символом

df['gross'].map('£{0:,.0f}'.format)

Возвращает:

Попытка с гексом

Куда я иду не так?

Ответы [ 2 ]

0 голосов
/ 10 октября 2018

Если вы просто хотите добавить символ £ в вывод HTML, не изменяйте сам фрейм данных - вы преобразуете все свои числовые поля в строки и теряете возможность обрабатывать их как числа.to_html позволяет указать, как форматировать объекты, используя параметр formatters.

Пример:

import pandas as pd
data = dict( index = ['A','B','C','D'], values = [1,2,3,4])
df = pd.DataFrame(data)

format_pounds = dict( values = '£{}'.format) # add £ to column 'values'
html = df.to_html(formatters = format_pounds)
0 голосов
/ 09 октября 2018

Я не знаю, куда вы идете не так, как надо, но вы можете попробовать использовать стилер:

df = pd.DataFrame(data=[[1,2], [3.2, 4.01]], columns=['gross', 'fish'])
s = df.style
s.format({'gross': "£{0:,.0f}".format})
s.render()

производит:

<style  type="text/css" ></style>  <table id="T_97cbc3ba_cc03_11e8_8f0c_8c85905d0081" > <thead>    <tr>         <th class="blank level0" ></th>         <th class="col_heading level0 col0" >gross</th>        <th class="col_heading level0 col1" >fish</th>     </tr></thead> <tbody>    <tr>         <th id="T_97cbc3ba_cc03_11e8_8f0c_8c85905d0081level0_row0" class="row_heading level0 row0" >0</th>         <td id="T_97cbc3ba_cc03_11e8_8f0c_8c85905d0081row0_col0" class="data row0 col0" >£1</td>         <td id="T_97cbc3ba_cc03_11e8_8f0c_8c85905d0081row0_col1" class="data row0 col1" >2</td>     </tr>    <tr>         <th id="T_97cbc3ba_cc03_11e8_8f0c_8c85905d0081level0_row1" class="row_heading level0 row1" >1</th>         <td id="T_97cbc3ba_cc03_11e8_8f0c_8c85905d0081row1_col0" class="data row1 col0" >£3</td>         <td id="T_97cbc3ba_cc03_11e8_8f0c_8c85905d0081row1_col1" class="data row1 col1" >4.01</td>     </tr></tbody> </table>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...