pandas 从列多索引 Dataframe 中选择2组不同的列

eqfvzcg8  于 2023-02-17  发布在  其他
关注(0)|答案(1)|浏览(145)

我有以下列多索引 Dataframe 。

我想选择(或获取一个子集) Dataframe 的不同列的每个level_0索引(即x_mm和y_mm从虚拟和z_mm rx_deg ry_deg rz_deg从实际)。从我所读到的,我认为我可能能够使用PandasIndexSlice,但不完全确定如何在这种情况下使用它。
到目前为止,我的工作是使用pd.concat独立地选择两组列,我觉得这可以通过切片来完成。

lymnna71

lymnna711#

您可以通过编程方式生成元组以对MultiIndex进行切片:

from itertools import product

cols = ((('virtual',), ('x_mm', 'y_mm')),
        (('actual',),  ('z_mm', 'rx_deg', 'ry_deg', 'rz_deg'))
 )

out = df[[t for x in cols for t in product(*x)]]

相关问题