Как прописать в названии файлов .png и .xlsx имена переменных?

Есть функция, в которую закладываются 2 переменные. Эти переменные - столбцы из большой таблицы.

def regr(x, y):
   x = acc[x] 
   y = acc[y]
   sns.regplot(x, y, line_kws=dict(color="r"))    
   plt.savefig('plot_' + ... + '.png')

   accc = pd.merge(x, y, left_index= True, right_index = True)
   accc.to_excel('table' + ... + '.xlsx') 

x & y - это числа от 1 до 2023.

  1. Как при вызове regr(x,y) вывести картинку с именем типа "plot_x_y.png"?
  2. Можно ли каким-то образом аналогично прописывать имена переменных в составе имени файла при выводе таблицы через pd.to_excel ?

Ответы (3 шт):

Автор решения: pypy_popai

попробуйте форматированные строки:

def regr(x, y):
   x = acc[x] 
   y = acc[y]
   sns.regplot(x, y, line_kws=dict(color="r"))    
   plt.savefig(f'plot_{x}_{y}.png')

   accc = pd.merge(x, y, left_index= True, right_index = True)
   accc.to_excel(f'table_{x}_{y}.xlsx')
→ Ссылка
Автор решения: Taisiya Dymova
def regr(x, y):
   acc_x = acc[x] 
   acc_y = acc[y]
   sns.regplot(acc_x, acc_y, line_kws=dict(color="r"))    
   plt.savefig(f'plot_{x}_{y}.png')

   accc = pd.merge(acc_x, acc_y, left_index= True, right_index = True)
   accc.to_excel(f'table_{x}_{y}.xlsx')
→ Ссылка
Автор решения: ANTON CHE

Придумал выделить имена столбцов в отдельные переменные и заработало:

def regr(x, y):
   x = acc[x]
   x_name = x.name
   y = acc[y]
   y_name = y.name
   ...
   plt.savefig(f'plot_{x_name}_{y_name}.png')
   

и xlsx аналогично!

→ Ссылка