我有一个Pandas 数据框,其中每一行都有来自不同海拔的传感器的一些读数.我设法使用df.Pivot函数在矩阵中获取这些读数,其中索引是标识符,列是不同的海拔高度,以及在这些海拔高度的三个数据值.

我的矩阵是这样的(数据是0级列标题,Alt是1级)

Data_1. Data_2 Data_3.
Alt_1 - Alt_2 - Alt_3 - ... Alt-1 - Alt_2 - Alt_3 - ... Alt_1 - Alt_2 - Alt_3 - ...

我想要的是重新排列多索引列,以便级别0作为高度,级别1作为数据.

我try 了各种更改级别、重命名元组等方法.但没有发现任何有用的东西. 我希望桌子看起来是这样的:

Alt 1. Alt_2 Alt_3 ...
Data_1-Data_2-Data_3 Data_1-Data_2-Data_3 Data_1-Data_2-Data_3 Data_1-Data_2-Data_3

推荐答案

我认为这是swaplevel大放异彩的地方.试一试:

df.swaplevel(axis=1)

示例:

df = pd.DataFrame(
    {"Grade": ['A','B','C','D','E','F','G','H','I']},
    index=[
        ['Data_1']*3 + ['Data_2']*3 + ['Data_3']*3,
        ['Alt_1','Alt_2','Alt_3']*3]).T

它看起来如下:

      Data_1             Data_2             Data_3            
       Alt_1 Alt_2 Alt_3  Alt_1 Alt_2 Alt_3  Alt_1 Alt_2 Alt_3
Grade      A     B     C      D     E     F      G     H     I

转型后:

df.swaplevel(axis=1)

我们得到:

       Alt_1  Alt_2  Alt_3  Alt_1  Alt_2  Alt_3  Alt_1  Alt_2  Alt_3
      Data_1 Data_1 Data_1 Data_2 Data_2 Data_2 Data_3 Data_3 Data_3
Grade      A      B      C      D      E      F      G      H      I

Python相关问答推荐

决策树分类器的基础sklearn熵和log_loss标准是否有差异?

是否有使用纯霍夫曼编码的现代图像格式?

流畅的模式,采用Escc方法

如何在Power Query中按名称和时间总和进行分组

仅对matplotlib的条标签中的一个条标签应用不同的格式

为什么dict(id=1,**{id:2})有时会引发KeyMessage:id而不是TypMessage?

如何根据情况丢弃大Pandas 的前n行,使大Pandas 的其余部分完好无损

根据网格和相机参数渲染深度

当密钥是复合且唯一时,Pandas合并抱怨标签不唯一

使用Keras的线性回归参数估计

如何在具有重复数据的pandas中对groupby进行总和,同时保留其他列

如何让程序打印新段落上的每一行?

Polars:用氨纶的其他部分替换氨纶的部分

使用setuptools pyproject.toml和自定义目录树构建PyPi包

将输入聚合到统一词典中

实现神经网络代码时的TypeError

使用BeautifulSoup抓取所有链接

Python Tkinter为特定样式调整所有ttkbootstrap或ttk Button填充的大小,适用于所有主题

Flash只从html表单中获取一个值

如何使用两个关键函数来排序一个多索引框架?