Pandas 从多索引级别获取所有值

2024-04-01

给定以下数据透视表:

df=pd.DataFrame({'A':['a','a','a','a','a','b','b','b','b'],
                 'B':['x','y','z','x','y','z','x','y','z'],
                 'C':['a','b','a','b','a','b','a','b','a'],
                 'D':[7,5,3,4,1,6,5,3,1]})
table = pd.pivot_table(df, index=['A', 'B','C'],aggfunc='sum')
table

            D
A   B   C   
a   x   a   7
        b   4
    y   a   1
        b   5
    z   a   3
b   x   a   5
    y   b   3
    z   a   1
        b   6

I'd like to access each value of 'C' (or level 2) as a list to use for plotting. I'd like to do the same for 'A' and 'B' (levels 0 and 1) in such a way that it preserves spacing so that I can use those lists as well. I'm ultimately trying to use them to create something like this via plotting: What I'm ultimately trying to plot

这是这个问题的根源。 https://stackoverflow.com/questions/37173170/pandas-pivot-table-to-bar-chart-preserving-hierarchy/37173918#37173918

提前致谢!


您可以使用get_level_values http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Index.get_level_values.html#pandas.Index.get_level_values从多索引中获取特定级别的索引值:

In [127]:
table.index.get_level_values('C')

Out[127]:
Index(['a', 'b', 'a', 'b', 'a', 'a', 'b', 'a', 'b'], dtype='object', name='C')

In [128]:    
table.index.get_level_values('B')

Out[128]:
Index(['x', 'x', 'y', 'y', 'z', 'x', 'y', 'z', 'z'], dtype='object', name='B')

In [129]:
table.index.get_level_values('A')

Out[129]:
Index(['a', 'a', 'a', 'a', 'a', 'b', 'b', 'b', 'b'], dtype='object', name='A')

get_level_values接受级别或标签的 int 参数

请注意,对于较高级别,这些值会重复以与最低级别的索引长度相对应,出于显示目的,您看不到此内容

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pandas 从多索引级别获取所有值 的相关文章

  • 在 Pandas 中创建许多新列的最 Pythonic 方法

    我有一个大数据框df 约 100 列和约 700 万行 我需要创建约 50 个新变量 列 它们是当前变量的简单转换 一种方法是与许多人一起 apply声明 我只是使用transform 作为简单转换的占位符 例如max或平方 df new
  • 如何向类添加对十六进制函数的支持

    我写了一个类来实现 int 方法 以便实例可以表现得像整数 class MyClass def init self value self value value def int self return self value 使用int实例上
  • Python 3 - 编码/解码与字节/Str [重复]

    这个问题在这里已经有答案了 我是 python3 的新手 来自 python2 我对 unicode 基础知识有点困惑 我读过一些很好的帖子 这让一切变得更加清晰 但是我看到 python 3 上有两种方法可以处理编码和解码 但我不确定使用
  • 未知的 PCM 卡.pcm.rear (pyaudio)

    问题与此相关pydub 问题 https github com jiaaro pydub issues 110 issuecomment 124205306 他们告诉我错误消息与 pyaudio 有关 usr bin env python3
  • 如何在 plt.show() 之后保持脚本运行[重复]

    这个问题在这里已经有答案了 之后plt show 我只想继续 但需要关闭弹出图 我该怎么做才能跳过该操作 这是我的代码 plt show time sleep 1 plt close all 其他代码 还有一个关于如何最大化数字制作的问题p
  • 使用 Fig.update_layout Plotly 更新 Traces 的可见性

    从这个问题继续 从下拉菜单或按钮中将 sqrt 设置为 y 轴刻度 Python Plotly https stackoverflow com questions 66226542 set sqrt as yaxis scale from
  • 根据随机选择的列生成随机天数

    我有一个如下所示的数据框 感谢 SO 社区在以下方面提供的帮助 df1 pd DataFrame person id 11 11 12 13 14 date birth 01 01 1961 12 30 1961 05 29 1967 01
  • pandas 两个数据框交叉连接[重复]

    这个问题在这里已经有答案了 我找不到有关交叉联接的任何内容 包括合并 联接或其他一些内容 我需要使用 my function 作为 myfunc 处理两个数据帧 相当于 for itemA in df1 iterrows for itemB
  • 如何将同步函数包装在异步协程中?

    我在用着aiohttp https github com aio libs aiohttp构建一个 API 服务器 将 TCP 请求发送到单独的服务器 发送 TCP 请求的模块是同步的 对于我来说是一个黑匣子 所以我的问题是这些请求阻塞了整
  • 如何解码 dtype=numpy.string_ 的 numpy 数组?

    我需要使用 Python 3 解码按以下方式编码的字符串 gt gt gt s numpy asarray numpy string hello nworld gt gt gt s array b hello nworld dtype S1
  • 如何将 Pandas Dataframe 中的字符串转换为字符列表或数组?

    我有一个名为的数据框data 其中一列包含字符串 我想从字符串中提取字符 因为我的目标是对它们进行一次性编码并使之可用于分类 包含字符串的列存储在预测因子如下 predictors pd DataFrame data columns Seq
  • Matplotlib 文本尺寸

    是否可以确定 matplotlib 文本对象的尺寸 如何找到以像素为单位的宽度和高度 Thanks Edit 我想我已经找到办法了 我在下面举了一个例子 import matplotlib as plt f plt figure r f c
  • 将列表字典扁平化为数据框

    我有一个列表字典说 data a 80 130 b 64 c 58 80 如何将其展平并将其转换为数据框 如下所示 扁平化字典的一种选择是 flattened data k str i x for k v in data items for
  • 如何对定义的字符集python中的所有可能的字符串进行加密?

    我试图加密定义的字符集中所有可能的字符串 然后将它们与用户输入给出的哈希进行比较 这就是我目前拥有的 import string from itertools import product import crypt def decrypt
  • SQLite 在使用之间不保存数据

    我制作了一个包含以下内容的模块 import sqlite3 as sq connection sq connect test db cursor connection cursor cursor execute DROP TABLE IF
  • 如何在pandas中将字符串转换为没有日期的日期时间

    例如issue d数据框中的列是字符串 df issue d Dec 2012 我想将字符串转换为日期时间类型而不是字符串类型 2012 12 怎么做 I use datetime strptime x b Y for x in df is
  • 导入错误:无法导入名称“PandasError”

    我对在 Mac 上运行的 Python 3x 非常陌生 当前使用 python 金融的 senddex 教程 尝试运行以下脚本 import datetime as dt import matplotlib pyplot as plt fr
  • 每个刻度标签都有不同的颜色

    我正在尝试使用 matplotlib python 3 5 创建一个散点图 其中 x 轴上的每个刻度都有不同的颜色 这怎么可能 例如 假设 x 刻度为 Mo Tu We Th Fr Sa Su 现在我希望 Mo 是绿色的 Tu 是蓝色的 等
  • Python子类方法从超类方法继承装饰器

    我有一个具有retrieve 方法的超类 并且它的子类每个都实现自己的retrieve 方法 我希望每个retrieve 方法都被装饰为在收到相同参数时缓存返回值 而不必在每个子类中装饰该方法 装饰器似乎不能被继承 我可能可以调用超类的方法
  • keras 中的增量学习

    我正在寻找 scikit learn 的 keras 等效项partial fit https scikit learn org 0 15 modules scaling strategies html incremental learni

随机推荐

  • 在R中导入SAS cport文件

    我试图通过一些分析找出一种在 R 中导入 SAS cport 文件的方法 有人可以帮助我如何完成这项工作吗 我不想先使用 SAS 将其转换为 csv 然后再导入到 R 中 我尝试用谷歌搜索但无法找到合适的解决方案 Thanks None
  • 使用 Swagger/OpenAPI 鉴别器,以便 Jackson 正确序列化对象

    我们在使用 OpenAPI 2 0 鉴别器时遇到了麻烦 无法让 Swagger 工具和 Jackson 序列化器都满意 问题 在序列化过程中 Jackson 当前为鉴别器生成两个 JSON 属性 其中之一具有null value OpenA
  • PHP If/Else 参数和 PDO 对象

    我怎样才能用下面的 if else 来论证 我想将变量 condition 定义为表 A 和表 B 的交集 最终 如果该条件为真 则执行一些代码 这是我的 PHP 我试图匹配 table1 field1 和 table2 field1 如果
  • 如何在 Airflow 中安装软件包?

    我在 Airflow 在 GCP 上 部署了一个 dag 但收到错误 没有名为 scipy 的模块 如何在 Airflow 中安装软件包 我尝试添加一个单独的 DAG 来运行 def pip install package subproce
  • 统一码正则表达式;无效的 XML 字符

    有效的 XML 字符列表是众所周知的 正如规范所定义的 x9 xA xD x20 xD7FF xE000 xFFFD x10000 x10FFFF 我的问题是是否可以通过使用 Unicode 通用类别来为此 或其逆 创建 PCRE 正则表达
  • 让mysql忽略where条件

    如果未设置变量 是否可以使 mysql 忽略条件 例如 SELECT FROM foo WHERE id id AND bar baz 如果 baz 设置为正常运行查询 否则运行减去 AND 子句的查询 Thanks SELECT FROM
  • 将数据分割或子集为 30 分钟的间隔

    我有以下形式的数据框 Temp Depth Light x time date time at depth 104 18 59 2 7 27 21 38 2012 06 20 4 109 18 59 2 7 27 22 02 2012 06
  • 如何使用google api抓取数据

    import requests def search query pages 4 rsz 8 url https ajax googleapis com ajax services search web params v 1 0 Versi
  • 如何使用php下载rar文件

    我编写了下载 rar 文件的代码 它工作正常 但是 name file rar data file get contents file rar fh fopen name w or die can t open file fwrite fh
  • 从 Materialise CSS 芯片获取数据

    我需要从 Materialise CSS 获取数据chips https materializecss com chips html 但我不知道 如何 chips placeholder material chip placeholder
  • asp.net webforms 和 jquery:如何在回发之间保存/恢复 jquery 状态?

    我正在构建一个 asp net webforms 3 5 sp1 应用程序 使用 jquery 可以对 UI 进行动画处理 更改其状态 在我开始进行回发之前 它一直工作得很好 其中 UI 显然将自身重置为初始状态 所以我的问题是 在回发之间
  • 以编程方式更改 Sustainsys.Saml2 HttpModule 配置

    我有一个遗留的 Web Forms ASP Net 项目 我刚刚成功集成了该项目Sustainsys Saml2 https saml2 sustainsys com en stable index html 我想知道如何以编程方式进行配置
  • 翻转 Quicktime 预览和捕获

    我需要水平翻转我正在预览和捕获的一些视频 A la iChat 我有一个网络摄像头 希望它看起来就像用户正在照镜子一样 我正在预览 Quicktime 视频QTCaptureView 我的捕获是逐帧完成的 出于我不会详细介绍的原因 如下所示
  • 在 JavaScript 中搜索数组

    我需要对数据集进行排序 如您所见 我已将其分配给记录变量 根据该数据 我需要查看邮政编码是否存在 如果邮政编码不存在 那么我需要将其移动到数组中 当然会有重复项 并继续检查其余记录 如果它确实存在 我不需要执行任何操作 Declare Ar
  • 在主 Django 数据库上运行 Unittest

    我正在寻找一种在 django 测试期间运行完整 celery 设置的方法 在此询问其他问题 https stackoverflow com questions 20638751 run a celery worker that conne
  • AngularJS + Phantom 的开放图问题

    我正在运行一个设置AngularJS http angularjs orgAJAX 应用程序 并使用PhantomJS http phantomjs org 和Angular seo https github com steeve angu
  • MediaRecorder.stop() 不会清除选项卡中的录制图标

    我启动和停止 MediaRecorder 流 红色 录制 图标会在启动时出现在 Chrome 选项卡中 但在停止时不会消失 图标如下所示 我的代码如下所示 const mediaRecorder new MediaRecorder stre
  • StringTemplate 和 FreeMarker 之间的主要区别是什么?

    网上似乎充满了 Velocity 和 FreeMarker 之间的比较 而且它们似乎相当等效 但StringTemplate和FreeMarker之间似乎几乎没有可比性 那么 StringTemplate 和 FreeMarker 之间的主
  • Visual Studio Code 和 Jinja 模板

    我有一段时间使用 VS code 和一些扩展 当我使用 Flask 时 一切都很完美 Prettier 将所有 Flask 代码粘合在一起 并且智能感知不适用于 Flask 代码 extends layout html block styl
  • Pandas 从多索引级别获取所有值

    给定以下数据透视表 df pd DataFrame A a a a a a b b b b B x y z x y z x y z C a b a b a b a b a D 7 5 3 4 1 6 5 3 1 table pd pivot