首页  >  文章  >  后端开发  >  如何在 Pandas 中有效地将宽数据转换为长格式?

如何在 Pandas 中有效地将宽数据转换为长格式?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-12 02:41:02286浏览

How do you efficiently transform wide data to a long format in Pandas?

将 Pandas 中的宽数据重塑为长数据

许多数据操作任务要求数据集采用特定格式,通常称为长或广泛的数据。在 pandas 中,可以通过 pd.melt 或 DataFrame.melt 函数实现从宽到长的重塑。

原始数据:

考虑以下宽数据框,其中日期是索引,列代表不同的变量:

         AA  BB  CC
date
05/03     1   2   3
06/03     4   5   6
07/03     7   8   9
08/03     5   7   1

重塑为长:

将此数据框重塑为长格式,其中每行代表单个日期和变量组合,我们可以使用:

df = df.reset_index().melt(id_vars='date')

这会将数据帧转换为:

     date variable  value
0   05/03       AA      1
1   06/03       AA      4
2   07/03       AA      7
3   08/03       AA      5
4   05/03       BB      2
5   06/03       BB      5
6   07/03       BB      8
7   08/03       BB      7
8   05/03       CC      3
9   06/03       CC      6
10  07/03       CC      9
11  08/03       CC      1

或者,可以通过在中指定ignore_index = False来省略reset_index步骤融化函数:

dfm = df.melt(ignore_index=False)

这确保行索引保留在转换后的数据帧中。

以上是如何在 Pandas 中有效地将宽数据转换为长格式?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn