pandas之MultiIndex使用方法实战记录

系列文章目录

一,pandas之MultiIndex的使用

文章目录


前言

记录某次项目的数据处理中,涉及到多级表头的数据处理,pandas刚好有复合索引

MultiIndex方法

一、MultiIndex是什么?

MultiIndex 是pandas 的一种 处理复核索引的方法。

参数:

(
    cls,
    levels=None,
    codes=None,
    sortorder=None,
    names=None,
    dtype=None,
    copy=False,
    name=None,
    verify_integrity: bool = True,
):

二、使用步骤

1.引入库

代码如下: import pandas as pd

2.将要使用复核索引的数据使用上MultiIndex

代码如下:

new_nor_sum1_df.columns = pd.MultiIndex(
            [['发薪公司', '纳税地', '中国籍', '非中国籍', "合计"], ['', '人数', '当月所得税']],
            codes=[[0, 1, 2, 2, 3, 3, 4, 4],
                   [0, 0, 1, 2, 1, 2, 1, 2]])

该处使用的某项目的模拟数据。

levels:[['发薪公司', '纳税地', '中国籍', '非中国籍', "合计"], ['', '人数', '当月所得税']],

codes:[[0, 1, 2, 2, 3, 3, 4, 4], [0, 0, 1, 2, 1, 2, 1, 2]]

levels和codes是为了确定多级索引的对应关系。

levels的第一级列表['发薪公司', '纳税地', '中国籍', '非中国籍', "合计"],对应codes的[0, 1, 2, 2, 3, 3, 4, 4]

codes中是0代表’发薪公司’的位置,1代表‘纳税地’的位置, 2代表‘中国籍’的位置, 3代表‘非中国籍’的位置, 4代表‘合计’的位置。


leves的第二级列表['', '人数', '当月所得税'],对应codes的[0, 0, 1, 2, 1, 2, 1, 2],codes中的0代表''的位置,1代表'人数'的位置,2代表'当月所得税'的位置。

debug一下代码展示一下效果:

实际excel效果:


总结

使用MultiIndex处理多级表头的DataFrame数据,非常方便,处理完数据后,生成excel后,在用openpyxl模块调整一下单元格格式,表格就很好看了,数据处理就是这么简单

猜你喜欢

转载自blog.csdn.net/Smile_Lai/article/details/125913941
今日推荐