Ошибка печати регистратора: недостаточно аргументов для строки формата - PullRequest
0 голосов
/ 25 мая 2020

Я пытаюсь исправить ошибку «Ошибка печати регистратора: недостаточно аргументов для строки формата», возникающую в отчете лаборатории jupyter, и пробовал несколько решений, но без радости. :

df_1 = pd.DataFrame(df, columns = ['col1','col2','col3','col4','col5','col6','col7', 'col8', 'col9', 'col10'])
#I'm applying a % format because I only need last four columns in percentage:
df_1['col7'] = df_1['col7'].apply("{0:.0f}%".format)
df_1['col8'] = df_1['col8'].apply("{0:.0f}%".format)
df_1['col9'] = df_1['col9'].apply("{0:.0f}%".format)
df_1['col10'] = df_1['col10'].apply("{0:.0f}%".format)

Я хочу сохранить формат / структуру таблицы, поэтому я не делаю print (df_1), а просто:

df_1

Вышеупомянутое работает нормально, но я не могу избавиться от ошибки «ошибка печати регистратора: недостаточно аргументов для строки формата».

ps Я также пробовал использовать такие форматы, как «{: .2%}» или «{ 0: .0%} ", но он превращается -3 в -300%

Вот как выглядят столбцы без какого-либо формата:

enter image description here

Изменить: исправлено удалением этой строки из запроса источника фрейма данных '% Y-% m-% d'

1 Ответ

3 голосов
/ 25 мая 2020

Если вы используете python 3, это должно сработать:

from random import randint

df_1['col7'] = df_1['col7'].apply(f"{randint(-3,-301)}%")
df_1['col8'] = df_1['col8'].apply(f"{randint(-3,-301)}%")
df_1['col9'] = df_1['col9'].apply(f"{randint(-3,-301)}%")
df_1['col10'] = df_1['col10'].apply(f"{randint(-3,-301)}%")
...