Numbers in column headers

Hi! I have a problem with my table:
When the column name contains numbers - its looks like this:


column with the header “jan” was 01 before i renamed it.
My DataTable code:

dcc.Tab(id='profit_tab', label='Прибыль', children=[
                dt.DataTable(
                    # Initialise the rows
                    rows=[{}],
                    editable=False,
                    filterable=True,
                    sortable=True,
                    column_widths=[70, 130],
                    max_rows_in_viewport=50,
                    row_selectable=True,
                    selected_row_indices=[],
                    id='profit'
                )
            ]),

My callback code:
@app.callback(
Output(‘profit’, ‘rows’),
[Input(‘my-dropdown’, ‘value’),
Input(‘month-range-slider’, ‘value’),
Input(‘profit_tab’, ‘label’),
Input(‘my-toggle-switch’, ‘value’)])
def update_output(value, months, tab, sellected_year):
if sellected_year == False:
func = frame_transform(value, months, tab, data_2018).to_dict(‘records’)
else:
func = frame_transform_2019(value, months, tab, data_2019).to_dict(‘records’)

    return func

The function:
def frame_transform_2019(value, months, tab, data_base):

if (tab == 'Доходы')|(tab == 'Прибыль'):
    data_2019 = data_base.groupby(
    ['Дата', 'Страна', 'Валюта', 'ID Партнера', 'Партнер', 'Менеджер партнера', "Категория"]
    )[['Клики/Всего', 'Клики/Уникальные', 'Лиды/Всего', 'Лиды/Принято', 'Лиды/На проверке', 'Лиды/Отклонено', 'Выплаты', 'Доходы', 'Прибыль']].sum()
elif (tab == 'AR')|(tab == 'CR')|(tab == 'EPL')|(tab == 'EPC'):
    data_2019 = data_base.groupby(['Дата', 'Страна', 'Валюта', 'ID Партнера', 'Партнер', 'Менеджер партнера', "Категория"])[['CR', 'AR', 'EPC', 'EPL']].mean()

data_2019 = data_2019.reset_index()

vm_man = data_2019[data_2019['Менеджер партнера'] == value]
vm_man_rev = pd.pivot_table(vm_man, 
    index=['ID Партнера', 'Партнер', 'Валюта'],
    values=tab,
    columns='Дата',
    fill_value=0)

vm_man_rev = vm_man_rev.astype('int')
lst = vm_man_rev.columns.tolist()
lst = [x[-2:] for x in lst]
vm_man_rev.columns = lst

selcted_month = vm_man_rev.columns[months[0]:months[1]+1]
vm_man_rev = vm_man_rev[selcted_month]

vm_man_rev.rename(index=str, columns={"01":"Jan", "02": "02"}, inplace=True)

vm_man_rev['Итого'] = vm_man_rev.sum(axis=1)
vm_man_rev['Итого'] = vm_man_rev['Итого'].astype('int')
vm_man_rev.replace(0, np.nan, inplace=True)
vm_man_rev.dropna(how='all', inplace=True)
vm_man_rev.replace(np.nan, '', inplace=True)
vm_man_rev.reset_index(inplace=True)

# МЕНЯЕМ ПОРЯДОК СТОЛБЦОВ
lst = vm_man_rev.columns.tolist()  # КОЛОНКИ В СПИСОК
lst.append(lst.pop(lst.index('Валюта')))  # СМЕНА ПОРЯДКА (ПОЧИТАТЬ ПРО .pop)
vm_man_rev = vm_man_rev[lst]
vm_man_rev.rename(index=str, columns={"ID Партнера":"ID"}, inplace=True)
vm_man_rev['ID'] = vm_man_rev['ID'].astype('int')
return vm_man_rev

I really need numbers in headers - they represents days of month.

P.S.: Sorry for my poor english

And i couldn’t found out how to make this table scrollable to the right-left, (it doesn’t fit to screen)