Как отформатировать числа сводных таблиц с разделителем тысяч и отрицательными числами в скобках? - PullRequest
0 голосов
/ 29 сентября 2019

Я хотел бы отформатировать свои отрицательные числа в формате «Бухгалтерия», то есть в скобках и запятой в качестве разделителя тысяч. Например, я хотел бы отформатировать -1000000 как (1 000 000).

Я смог отформатировать свои числа (в сводной таблице) с разделителем тысяч или в скобках для отрицательных чисел, но не для обоих.

  • это форматирует числа в сводной таблице (псевдоним pt) с разделителем тысяч:

    pd.options.display.float_format = '{:,.0f}'.format
    print(pt)
    
  • это форматирует числа всводная таблица с скобками для отрицательных чисел:

    formatter = lambda x: '(%s)' % str(x)[1:] if x < 0 else str(x)
    pd.options.display.float_format = formatter
    pt
    

1 Ответ

0 голосов
/ 29 сентября 2019
def my_formatter(x):
    if x < 0:
        return '({:,.0f})'.format(-x)
    return '{:,.0f}'.format(x)

pd.options.display.float_format = my_formatter

Пример:

pd.DataFrame([10000000., -20000000.])
#             0
#0   10,000,000
#1 (20,000,000)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...