熊猫行多索引多列

时间:2020-05-04 09:50:09

标签: python python-3.x pandas multi-index

我有一个数据帧,其中包含一段时间内data来源的一些记录数据:

   t  min  max ... some_value
 0.0  0.0  0.0 ...        0.0
 5.0  0.0  2.4 ...        1.9
10.0  0.0  6.7 ...        4.6
 ...  ...  ... ...        ...

我还有一个数据框,其中包含有关源source的信息:

type location some_info
   A      loc      info

我现在想以一种易于添加的方式将source添加到data中,因为我拥有多个源的数据以及与该源相对应的访问信息到当前数据。 我的想法是以某种类似的方式对多索引执行此操作

                           data
                              t  min  max ... some_value
source
  type location some_info
     A      loc      info   0.0  0.0  0.0 ...        0.0
                            5.0  0.0  2.4 ...        1.9
                           10.0  0.0  6.7 ...        4.6
   ...      ...       ...   ...  ...  ... ...        ...

这可以通过简单的串联来完成吗?感觉比那还要棘手。

如果可能,我希望能够遍历包含来自多个源的数据的数据框中的源,如下所示:

for source in full_frame.index:
    source_data = full_frame[source,:]
    do_something(source_data)

如果这种方法看上去不必要地复杂,请告诉我。

编辑:更新了所需结果的外观

1 个答案:

答案 0 :(得分:0)

使用:

result = pd.concat([source, data], axis=1, join='outer', keys=['source', 'data'])

串联在两个DataFrame中都是按索引进行的。

如果一个DataFrame有一行,我添加了 join ='outer'以获得正确的行为 某些索引值,但第二个DataFrame没有。