我有一个数据框架,其中包含了一些来自一个源头的一段时间内的记录数据。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)
如果这种方法看起来不必要的复杂, 请告诉我。
EDIT:更新了想要的结果的外观。
使用。
result = pd.concat([source, data], axis=1, join='outer', keys=['source', 'data'])
连接发生在两个DataFrames中 "按索引"。
我添加了 join='external' 以确保在一个DataFrame有某一索引值的行,而第二个DataFrame没有的情况下的正确行为。