可变索引的异构数据结构?

时间:2016-08-15 17:49:29

标签: python pandas tuples

Python中是否有符合这些条件的数据类或类型?

我正在尝试构建一个看起来像这样的对象:

  • ExperimentData

    • ID 1

      • sample_info_1:character string
      • sample_info_2:character string
      • Dataframe_1:pandas data frame
      • Dataframe_2:pandas data frame
    • ID 2

      • (等)

现在,我使用dict来保存对象('ExperimentData'),其中包含每个ID的namedtuple个。每个namedtuple都有一个命名字段,用于附加到样本的相应数据。这允许我保留所有ID的索引,并且每个ID下的所有字段也被索引。

但是,我需要在下游分析期间更新和/或替换每个ID下的条目。由于tuple是不可变的,因此似乎不可能。

有更好的实施吗?

1 个答案:

答案 0 :(得分:1)

你可以使用dicts的dict而不是namedtuples的dict。 Dicts是可变的,所以你将能够修改内部的dicts。

鉴于您在评论中所说的每个DataFrame-1和-2的结构具有可比性,您还可以将每个DataFrame组合成一个大的DataFrame,方法是向每个包含{{1的值的DataFrame添加一列在所有行中重复,同样适用于sample_info_1。然后,您可以将所有DataFrame-1连接成一个大的,同样对于DataFrame-2,将所有数据都放入两个DataFrame中。 (根据这些DataFrame的结构,您甚至可以将它们合并为一个。)