我有一个带有以下索引的数据框:

index = pd.MultiIndex.from_product([['stock1','stock2'...],['price','volume'...]])

这是一个有用的 struct ,可以做df['stock1'],但我如何 Select 所有的价格数据?我搞不懂这些文件.

我试过以下方法但没有成功:df[:,'price'] df[:]['price'] df.loc(axis=1)[:,'close'] df['price]

如果无论出于何种原因,人们普遍认为这种索引样式是个坏主意,那么什么是更好的 Select 呢?我应该 Select 一个多指数指数作为时间序列的标签,而不是列级的标签吗?

非常感谢

编辑——我使用的是列的多重索引,而不是索引(措辞占了我的上风).文档中的示例侧重于多级索引,而不是列 struct .

推荐答案

同样使用John的数据样本:

使用xs()是切片MultiIndex的另一种方法:

df
               0
stock1 price   1
       volume  2
stock2 price   3
       volume  4
stock3 price   5
       volume  6

df.xs('price', level=1, drop_level=False)
              0
stock1 price  1
stock2 price  3
stock3 price  5

或者,如果列的位置为MultiIndex:

df
  stock1        stock2        stock3       
   price volume  price volume  price volume
0      1      2      3      4      5      6

df.xs('price', axis=1, level=1, drop_level=False)
  stock1 stock2 stock3
   price  price  price
0      1      3      5

Python-3.x相关问答推荐

网站抓取:当我使用Chrome DevTools中的网络选项卡时,找不到正确的URL来提供我想要的数据

安装grpcio时出现错误DeproationWarning:pkg_resource

使用具有相同索引的多次出现的索引列表更新NumPy数组

使用 Fetch 提交表单到 Django 视图

从 LeetCode 的 Python 解决方案类中理解关键字 self

如何键入提示函数,在 Python 中通过类decorator 添加到类中

txt 文件与不同的分隔符到整数列表

以不规则频率识别数据框日期时间列上缺失的日期,并用关联值填充它们

XPATH:使用 .find_elements_by_xpath 为未知数量的 xpath 输入值

在字符串中查找正则表达式的所有模式

从日志(log)文件中查找延迟最低的用户

总结基于条件的值,如果不匹配则保留当前值

具有 2 个输入的 python 3 map/lambda 方法

如何从另一个目录导入 python 包?

Tkinter AttributeError:对象没有属性'tk'

如何使用python将放置在多个嵌套文件夹中的文档移动和重命名为一个新的单个文件夹?

在python中,如果一个函数没有return语句,它会返回什么?

0 是 0 == 0(#evaluates 为真?)

对字节进行按位运算

Python 3中星型导入的函数形式是什么