У меня есть следующий цикл for, который проходит через папку файлов CSV и выполняет некоторые вычисления. Это вычисление выполняется между вычислениями файлов один на один, например file1.csv versus file2.csv
, file1.csv versus file3.csv
и т. Д.
Теперь я могу сохранять результаты вычислений в CSV-файл с определенной папкой, но я также пытаюсь сгенерировать тепловую карту для каждого вычисления, например, file1.csv vs file2.csv
и сохранить рисунок по определенному пути, который я хочу. Я могу сгенерировать тепловую карту только для вычисления двух файлов, но когда я хочу сделать это в следующем цикле for, он сохраняет все результаты только на одном рисунке:
Вот код
# read the files
for dirName, subdirList, Myfile in os.walk(path):
print('Directory: %s' % dirName)
for files in Myfile:
print('\t%s' % files)
# apply one to one compuattion between the files
for i in range(len(Myfile)):
print(Myfile)
for j in range(i+1, len(Myfile)):
CSV1 = pd.read_csv(path+'/'+Myfile[i], error_bad_lines=False);
CSV2 = pd.read_csv(path+'/'+Myfile[j], error_bad_lines=False);
df1 = pd.DataFrame(data=f1)
df2 = pd.DataFrame(data=f2)
result = calculate_stock(df1, df2)
# generate the heatmaps for heach one to one computation
ax = sns.heatmap(result, linewidth=0.5)
# save the figure
figure = ax.get_figure()
figure.savefig('svm_conf.png', dpi=400)
result.to_csv(path+'/'+ Myfile[i]+'_versus_'+ Myfile[j],index=True)
когда я пытаюсь сделать следующее:
figure.savefig(path+'/'+ Myfile[i]+'_versus_'+Myfile[j], format='png', index=True)
Сохраняет файл в формате CSV, а не в формате png, а внутри CSV полно произвольных алфавитов.
Было бы здорово, если бы вы сообщили мне, как я могу решить эту проблему.