Вы также можете использовать option_context с одним или несколькими параметрами:
with pd.option_context('display.max_rows', None, 'display.max_columns', 3):
print(df)
Это автоматически вернет параметры к их предыдущим значениям.
Дополнение: Если вы работаете над jupyter-notebook, использование display
вместо print
будет использовать богатую логику отображения jupyter.
Это действительно запрещено. Более того, вам действительно не нужен цикл по всем ключам здесь, учитывая, что словари со странными названиями
кажутся одним dict; вместо для k в словарях:
(или работоспособного для k в dictionaries.keys ()
, который предлагает ответ @ Triptych), вы можете использовать ...:
tp = dictionaries.get('*TYPE')
if tp is not None:
""" Here we determine the type """
if tp.lower() == 'name':
dictionaries.update({"type" : 0})
func = name(dictionaries)
elif tp.lower() == "ma":
dictionaries.update({"type" : 1})
func = DCC(dictionaries)
logging.debug(type(func))
This будет намного быстрее, если словари
будут иметь значительную длину, поскольку вы обращаетесь непосредственно к одной записи, которая вам нужна, вместо того, чтобы перебирать все записи, чтобы проверить каждую из них, чтобы увидеть, есть ли это тот, о котором вы заботитесь.
Даже если вы решили опустить часть кода, так что после этого запуска цикл для словарей
будет все еще необходим, я думаю, что мое предложение все же предпочтительнее, потому что оно позволяет вам вносить любые изменения в словари
, готово и снова (при условии, конечно, что вы не продолжаете изменять его в гипотетической части вашего кода, я думаю, вы, возможно, решили пропустить ;-).
Эта ошибка довольно информативна; вы не можете изменить размер словаря, который вы просматриваете в данный момент.
Решение состоит в том, чтобы получить все ключи сразу и перебрать их:
# Do this
for k in dictionaries.keys():
# Not this
for k in dictionaries: