Я использую pandas для записи данных в файл excel. Я хочу сбросить данные, как в одном листе, а во втором листе я хочу его отсортировать. Слои - это ключ, а веса - значения в словаре.Сортировка записей из словаря в excel с использованием python Pandas
, например. sheet1 должен иметь таблицу, как показано ниже (несортированный):
и sheet2 должны отсортировали записи:
Я уже пытался OrderedDict
df1 = pd.DataFrame.from_dict(dict_weights, orient="index")
df1.columns = ['weights']
df2 = pd.DataFrame.from_dict(collections.OrderedDict(dict_weights), orient="index")
df2.columns = ['weights']
df1.to_excel(writer, sheet_name='sheet1')
df2.to_excel(writer, sheet_name='sheet2', startcol=3)
writer = pd.ExcelWriter(filename, engine='xlsxwriter')
writer.save()
Проблема заключается в том он выполняет сортировку, но на обоих листах. Я просто хочу, чтобы данные были отсортированы в листах2, а на листе 1 они оставались несортированными.
Ожидаемые результаты в:
Лист1
Layer; weights
T1_max_pool; 4
activation_9; 1
sum_9; 3
Merge_2; 4
activation_2; 1
T2_max_pool; 4
Sheet2
Layer; weights
activation_2; 1
activation_9; 1
Merge_2; 4
sum_9; 3
T1_max_pool; 4
T2_max_pool; 4
Любые предложения ?? :) Благодаря!
Всегда помогает копировать данные в вопрос вместо изображений. – Zero
Спасибо за предложение! Я обновил вопрос; разделенные значения – blackbug
'OrderedDict' просто запоминает порядок вставки, однако он не сортируется (по крайней мере, не интуитивно). Сначала вы можете создать 'OrderedDict', а затем вставить элементы один за другим отсортированным способом. То есть вместо 'OrderedDict (dict_weights)' вы можете сделать 'sorted_dict = OrderedDict(); для ключа в отсортированном (dict_weights): sorted_dict [key] = dict_weights [key] '. –