gpt4 book ai didi

python - 我应该使用字典还是系列来保存一堆数据框?

转载 作者:太空宇宙 更新时间:2023-11-03 13:07:47 25 4
gpt4 key购买 nike

假设我有几个数据帧:df1、df2、df3 等。每个数据帧的标签是 A1、A2、A3 等。我想将这些信息作为一个整体使用,以便我可以传递它们。我想到了三种方法:

方法一

使用标签列表:labels=["A1", "A2", "A3"...] 和数据帧列表 dfs=[df1, df2, df3. ..].

方法二

使用字典:d={"A1": df1, "A2": df2, "A3": df3}

方法三

使用 Pandas 系列:s=pd.Series([df1, df2, df3], index=["A1", "A2", "A3"])

我将按顺序使用标签和数据框,因此我认为方法 1 和方法 3 应该是我的选择。但是,使用方法 1 需要我传递两个项目,而使用方法 3 我只需要保留一个对象。 将数据框放在一个系列中是一种常见的做法吗?我很少看到人们这样做,这是否违反最佳做法?有没有更好的建议?

最佳答案

OrderedDict 可能比为此使用系列更传统。

from collections import OrderedDict
d = OrderedDict([("A1", df1), ("A2", df2), ("A3", df3)])

这很容易迭代:

for label, df in d:
print(label, df)

也就是说,我看不出有什么充分的理由不使用 pandas 系列。使用该系列的一个小优点是您可以使用点符号 s.A1s.A2 等以及使用类似字典的符号 s[“A1”]。使用系列,也可以相对容易地对数据帧进行排序,在中间插入额外的数据帧,或者在以后需要时将额外的元数据与它们相关联。

(有关 Python 3.6 和 3.7 中的字典排序,请参阅 this question - 如果使用 Python 3.7,您可以使用普通字典而不是 OrderedDict,并且您不需要使用其他“有序”行为。在 Python 3.6 中,插入顺序的保留是一个实现细节,不应依赖。)

关于python - 我应该使用字典还是系列来保存一堆数据框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52591696/

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