gpt4 book ai didi

python - Pandas 数据框到有序字典

转载 作者:太空狗 更新时间:2023-10-30 01:12:41 25 4
gpt4 key购买 nike

有一篇文章将 Pandas 数据框转换为字典以供进一步处理。

执行此操作的代码是:

df = pd.read_excel(open('data/file.xlsx', 'rb'), sheetname="Sheet1")
dict = df.set_index('id').T.to_dict('dict')

这会产生类似这样的结果:{column -> {index -> value}}

有没有一种快速的方法来代替这个 {column -> {index -> value}} 得到这个:OrderedDict(column, value) 作为返回值?

目前,我正在使用从 pandas 生成的字典,并将这些值一个一个地分配给有序字典。这不是最佳方式,因为顺序被打乱了

示例输入:像这样的 Excel 文件:

Unique_id | column1 | column2 | column3 | column 4
1 | 3 | 4 | 43 | 90
2 | 54 | 6 | 43 | 54

并且输出应该是一个有序字典,如下所示:

{1:[3,4,43,90], 2:[54,6,43,54]}

最佳答案

您可以通过使用带有 Unique_id 列中的键的 OrderedDict 以所需的顺序获取字典。以下应作为说明:

from collections import OrderedDict

# Get the unordered dictionary
unordered_dict = df.set_index('Unique_id').T.to_dict('list')

# Then order it
ordered_dict = OrderedDict((k,unordered_dict.get(k)) for k in df.Unique_id)
# OrderedDict([(1, [3, 4, 43, 90]), (2, [54, 6, 43, 54])])

谢谢!

关于python - Pandas 数据框到有序字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40983364/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com