Использование оператора Python WITH для создания временной переменной - PullRequest
0 голосов
/ 19 апреля 2020

Предположим, у меня есть Pandas данные. Любые данные. Я импортирую seaborn, чтобы сделать цветную версию корреляции между вариациями. Вместо того, чтобы передавать выражение корреляции в функцию тепловой карты, и вместо создания одноразовой переменной для хранения результатов корреляции, как я могу использовать оператор with для создания временной переменной, которая больше не существует после построения тепловой карты?

Не работает

# Assume: season = sns, Data is heatmapable
with mypandas_df.correlation(method="pearson") as heatmap_input:
    # possible other statements
    sns.heatmap(heatmap_input)
    # possible other statements

Если это произошло, то после того, как seaborn построит карту, heatmap_input больше не существует как переменная. Я хотел бы ТАТ функциональность.

Длинный путь

# this could be temporary but is now global
tcbtbing = mypandas_df.correlation(method="pearson")
sns.heatmap(tcbtbing)

Компактный способ

sns.heatmap( mypandas_df.correlation(method="pearson") )

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

1 Ответ

0 голосов
/ 19 апреля 2020

Вам нужно реализовать , ввести и , выйти для класса, который вы хотите использовать. см .: Реализация использования 'with object () как f' в пользовательском классе в python

...