将单级列DataFrame转为多级索引列后行值变为NaN的问题
解决多级索引列转换后值变NaN的问题
问题根源很明确:你新构造的多级索引列和原DataFrame的普通列索引完全不匹配,pandas找不到对应列的数据,自然全部填充成NaN。
不用绕弯路重新创建DataFrame,直接修改列索引就能解决,两种实用方法任选:
方法一:直接修改原DataFrame的列索引
col = pd.MultiIndex.from_product([['stack name'], df_prc_RI3.columns]) df_prc_RI3.columns = col
执行后原DataFrame的列会直接转为多级索引,所有数据完整保留。
方法二:创建新DataFrame(不改动原数据)
如果不想修改原始数据集,先复制再修改列索引:
col = pd.MultiIndex.from_product([['stack name'], df_prc_RI3.columns]) ddf = df_prc_RI3.copy() ddf.columns = col
内容的提问来源于stack exchange,提问作者zanjan vh
相关产品推荐
相关产品推荐

