如何用单表头DataFrame更新多表头DataFrame数据
用单表头DataFrame更新多表头DataFrame对应数据
因为你的多表头DataFrame末级列和单表头的列完全一致,直接通过末级列名匹配就能完成数据更新,不用复杂操作,下面是具体实现:
核心代码
假设多表头DataFrame命名为df_multi,单表头的为df_single:
# 筛选多表头中末级列与单表头列匹配的列 target_columns = [col for col in df_multi.columns if col[-1] in df_single.columns] # 将单表头数据赋值到多表头对应位置 df_multi[target_columns] = df_single.values
简化版(如果列顺序完全一致)
如果多表头的末级列顺序和单表头的列顺序完全相同,还可以更简洁:
# 直接取多表头最后N列(N为单表头列数)赋值 df_multi.iloc[:, -len(df_single.columns):] = df_single.values
说明
col[-1]用来获取多表头列元组的最后一个元素(也就是你说的末级列名),通过这个可以精准定位到需要更新的列。- 赋值时用
df_single.values直接取数值矩阵,避免列名层级不匹配的问题。
内容的提问来源于stack exchange,提问作者itzram01
相关产品推荐
相关产品推荐

