Python 在Pandas中创建多索引头

Python 在Pandas中创建多索引头,python,pandas,Python,Pandas,我有一个时间序列形式的数据框,如下所示: 以及第二个表,其中相应列(名称)的附加信息如下: 现在,我想将两者结合起来,将第二个表中的特定信息添加到第一个表的标题中。其结果如下: 我觉得解决这个问题的办法很琐碎,但不知何故,我就是无法集中注意力。关于如何处理这个问题,有什么帮助/建议/提示吗 要创建表格的MWE: 将熊猫作为pd导入 df=pd.DataFrame([[1,2,3],[4,5,6],[7,8,9]],列=['a','b','c']) df2=pd.DataFrame([[a'

我有一个时间序列形式的数据框,如下所示:

以及第二个表,其中相应列(名称)的附加信息如下:

现在,我想将两者结合起来,将第二个表中的特定信息添加到第一个表的标题中。其结果如下:

我觉得解决这个问题的办法很琐碎,但不知何故,我就是无法集中注意力。关于如何处理这个问题,有什么帮助/建议/提示吗

要创建表格的MWE:

将熊猫作为pd导入
df=pd.DataFrame([[1,2,3],[4,5,6],[7,8,9]],列=['a','b','c'])
df2=pd.DataFrame([[a'、'b'、'c']、['a_-desc'、'b_-desc'、'c_-desc']、['a_-unit'、'b_-unit'、'c_-unit'])。T
df2.columns=['MSR','OBJDESC','UNIT']

您可以为每个原始列名获取元数据dict,然后更新原始df

# store the column metadata you want in the header here
header_metadata = {}

# loop through your second df
for i, row in df2.iterrows():
    # get the column name that this corresponds to
    column_name = row.pop('MSR')
    
    # we don't want `scale` metadta
    row.pop('SCALE')
    
    # we will want to add the data in dict(row) to our first df
    header_metadata[column_name] = dict(row)

# rename the columns of your first df
df1.columns = (
    '\n'.join((c, *header_metadata[c]))
    for c in df1.columns
)

你能以文本的形式提供你的数据吗?@Matt嗨,我更新了我的问题,有点像MWE。