这是我第一次了解Pandas 多重索引.这里我有两个列表,我希望使用MultiIndex函数将它们合并.我期待的结果应该有水平和标签,但这里不是这样的.

以下是我的代码:

import numpy as np
import pandas as pd

inside = ['a', 'a', 'a', 'b', 'b', 'b']
outside = [1,2,3,1,2,3]
zipped = list(zip(inside, outside))
hier_zipped = pd.MultiIndex.from_tuples(zipped)

hier_zipped

预期结果: 多索引(级别=[[‘a’,‘b’],[1,2,3]], 标签=[[0,0,0,1,1,1],[0,1,2,0,1,2]] )

实际结果是:

MultiIndex([(‘a’,1), (‘a’,2), (‘a’,3), (‘b’,1), (‘b’,2), (‘b’,3)], )

推荐答案

您的两个代码提供相同的对象(只需注意,labels应该是codes),多重索引的表示不显示级别/代码:

pd.MultiIndex(levels=[['a','b'],[1,2,3]], codes=[[0,0,0,1,1,1],[0,1,2,0,1,2]])

输出:

MultiIndex([('a', 1),
            ('a', 2),
            ('a', 3),
            ('b', 1),
            ('b', 2),
            ('b', 3)],
           )

如果需要标高和代码,请使用:

hier_zipped.levels
# FrozenList([['a', 'b'], [1, 2, 3]]),

hier_zipped.codes
# FrozenList([[0, 0, 0, 1, 1, 1], [0, 1, 2, 0, 1, 2]])

Python相关问答推荐

acme错误-Veritas错误:模块收件箱没有属性linear_util'

比较两个数据帧并并排附加结果(获取性能警告)

Pandas 有条件轮班操作

海运图:调整行和列标签

2D空间中的反旋算法

如何更改分组条形图中条形图的 colored颜色 ?

对所有子图应用相同的轴格式

Django REST Framework:无法正确地将值注释到多对多模型,不断得到错误字段名称字段对模型无效'<><>

使用密钥字典重新配置嵌套字典密钥名

Odoo 16使用NTFS使字段只读

在matplotlib中使用不同大小的标记顶部添加批注

根据客户端是否正在传输响应来更改基于Flask的API的行为

将CSS链接到HTML文件的问题

Python将一个列值分割成多个列,并保持其余列相同

Pandas在rame中在组内洗牌行,保持相对组的顺序不变,

如何使用加速广播主进程张量?

比较两个有条件的数据帧并删除所有不合格的数据帧

从列表中分离数据的最佳方式

是否将Pandas 数据帧标题/标题以纯文本格式转换为字符串输出?

Match-Case构造中的对象可调用性测试