python - 从 Pandas 数据框的 MultiIndex 中获取特定索引作为列表
问题描述
我想以列表形式获取 Pandas 数据框的特定索引MultiIndex
。
举个例子
import pandas as pd; import numpy as np
np.random.seed(42)
df = pd.DataFrame(np.random.randint(5, size=(5, 4)), columns=list('ABCD'))
df.set_index(['A', 'B'], inplace=True)
其中df
定义为
C D
A B
3 4 2 4
4 1 2 2
2 4 3 2
4 1 3 1
3 4 0 3
我要提取
[4 1 4 1 4]
对应于第二个索引B
。如何才能做到这一点?
解决方案
使用get_level_values
df.index.get_level_values(level=1).tolist()
Out[1040]: [4, 1, 4, 1, 4]
或者reset_index
df.reset_index(level=1).B.tolist()
Out[1041]: [4, 1, 4, 1, 4]
推荐阅读
- pandas - 使用 numpy 在数字中查找模式
- python - TypeError, __init__() missing 1 required positional argument: 'get_response' 在 python 中是什么意思?
- laravel - 更新功能不断收到此错误:此路由不支持 PATCH 方法。支持的方法:GET、HEAD
- r - Dbplyr 错误:将表达式转换为数据类型 int 的算术溢出错误
- databricks - 在 pyspark/python 作业中访问 databricks 机密
- elasticsearch - Elasticsearch:在嵌套文档上执行“inner_hit”时,返回层次结构中匹配偏移量的所有字段
- swift - 如何将 SwiftUI 框架中 DatePicker 的外观更改为只有几个月和几年?
- javascript - 带有 CDN 的 Material.io
- browser - 如何在“hackerrank”的在线编程编辑器上启用所有默认的 emacs 键绑定?
- python-3.x - 用于 ECR 删除的 Boto3 服务员