Как отформатировать число в jupyter lab - разделить триады пробелами в pandas?

Рейтинг: -1Ответов: 2Опубликовано: 27.02.2023

Пытаюсь в jupyter lab сделать так, чтобы числа в таблицах были разделены пробелами между триадами. Т.е. нужно: 1 000 000. Никак не получается. Разделил запятыми:

import pandas as pd
pd.options.display.float_format = ‘{:,.0f}’.format

но надо пробелами. Также пробовал через import locale , но тоже не вышло. Помогите пожалуйста.

Ответы

▲ 2Принят

Вы же понимаете, что это вопрос отображения значений, а не их хранения? как бы вы меняли стиль, храниться значения будут так, как им положено, а не так, как вы хоnите, чтобы они выглядели.

в любом случае, можете воспользоваться стайлерами:

import pandas as pd

df = pd.DataFrame({"a":[10000000.15, 23434123.23]})
print(df)
             a
0  10000000.15
1  23434123.23
df.style.format(decimal=",", thousands=" ", precision=2)
    a
0   10 000 000,15
1   23 434 123,23
▲ 0

Нашел еще вот такое решение:

def format_number(x):
    if type(x) == float or type(x) == int:
        return '{:,.0f}'.format(x).replace(',', ' ')
    else:
        return x
df = df.applymap(format_number)
print(df.head())