【发布时间】:2017-06-24 18:55:33
【问题描述】:
我正在使用 pandas 将数据写入 excel 文件。我想转储数据,因为它在一张纸中,而在第二张纸中我希望它以排序的方式。层是键,权重是字典中的值。
例如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()
问题是它在两张纸上进行排序。我只想在 sheet2 中对数据进行排序,而在 sheet1 中它应该保持未排序。
预期输出:
Sheet1
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
有什么建议吗?? :) 谢谢!
【问题讨论】:
-
总是有助于在问题中包含可复制的数据而不是图像。
-
感谢您的建议!我已经更新了问题;分隔值
-
OrderedDict只记得插入的顺序,但它没有排序(至少不是以直观的方式)。您可以先创建OrderedDict,然后以排序的方式一个接一个地插入项目。 IE。而不是OrderedDict(dict_weights)你可以做sorted_dict = OrderedDict(); for key in sorted(dict_weights): sorted_dict[key] = dict_weights[key]。