首页 > 解决方案 > 在 Python 中更改数据框的结构

问题描述

我需要帮助将结构更改为具有许多列的 pandas 数据框,如示例:

原始数据框:

| xx | yy | zz | a | b | c | k |
|:---|:---|:---|:--|:--|:--|:--|
| x1 | y1 | z1 | 0 | 2 | 1 | 3 |
| x2 | y2 | z2 | 1 | 0 | 2 | 0 |

我只需要前 3 列并更改其余列

新数据框:

| xx | yy | zz | valor | nueva columna| 
|:---|:---|:---|:--|:--|
| x1 | y1 | z1 | 0 | a |
| x1 | y1 | z1 | 2 | b |
| x1 | y1 | z1 | 1 | c |
| x1 | y1 | z1 | 3 | k |
| x2 | y2 | z2 | 1 | a |
| x2 | y2 | z2 | 0 | b |
| x2 | y2 | z2 | 2 | c |
| x2 | y2 | z2 | 0 | k |

我得到了一个带有 for 循环的解决方案,但是在 colab 中,当列和行很多时,时间过多

标签: python-3.xpandasdataframe

解决方案


df1 = df.set_index(['xx','yy','zz']).stack()
df1.reset_index()

在此处输入图像描述


推荐阅读