如何为单级pandas DataFrame添加含z1、z2子列的多级列z
实现方法
要给现有单级列DataFrame新增z分组下的z1、z2二级子列,完全匹配目标展示效果,按以下步骤操作即可:
- 首先完成原始数据初始化
import pandas as pd df = pd.DataFrame({"x":[0,0,0],"y":[0,0,0]}) - 把原有的单级列转换为双层多级索引,给x、y列匹配空的二级索引占位,让列结构和目标效果对齐
df.columns = pd.MultiIndex.from_tuples([(col, "") for col in df.columns]) - 按多级列的元组命名规则,直接给z分组下的两个子列赋值固定值
df[("z", "z1")] = 1 df[("z", "z2")] = 2
执行完上述代码后,DataFrame的输出效果和要求完全一致:
x y z z1 z2 0 0 0 1 2 1 0 0 1 2 2 0 0 1 2
避坑提示:不要跳过原列转多级索引的步骤直接新增二级列,否则原有x、y列的单级索引和新增的二级列层级不匹配,会被自动填充为NaN,无法得到预期的跨列展示效果。
内容的提问来源于stack exchange,提问作者AAriam
相关产品推荐
相关产品推荐

