多列的潘达斯行多索引

问题描述 投票:0回答:1

我有一个数据框架,其中包含了一些来自一个源头的一段时间内的记录数据。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

我现在想加 sourcedata 我的想法是用一个多索引的方式来做这件事,我有一个类似于

                           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)

如果这种方法看起来不必要的复杂, 请告诉我。

EDIT:更新了想要的结果的外观。

python python-3.x pandas multi-index
1个回答
0
投票

使用。

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

连接发生在两个DataFrames中 "按索引"。

我添加了 join='external' 以确保在一个DataFrame有某一索引值的行,而第二个DataFrame没有的情况下的正确行为。

© www.soinside.com 2019 - 2024. All rights reserved.