首页 > 后端开发 > Python教程 > 如何在 Pandas 中将数据从宽格式重塑为长格式?

如何在 Pandas 中将数据从宽格式重塑为长格式?

DDD
发布: 2024-11-16 14:57:03
原创
167 人浏览过

How to Reshape Data from Wide to Long Format in Pandas?

在 Pandas 中将数据从宽格式转换为长格式

在 pandas 中,数据帧可以从宽格式转换为长格式。当想要根据共享列和日期将数据框与另一个数据框合并时,这非常有用。

考虑以下数据框:

        AA  BB  CC
date
05/03     1   2   3
06/03     4   5   6
07/03     7   8   9
08/03     5   7   1
登录后复制

要将此数据框转换为长格式,请使用pandas.melt 或pandas.DataFrame.melt.

df = pd.DataFrame({
    'date' : ['05/03', '06/03', '07/03', '08/03'],
    'AA' : [1, 4, 7, 5],
    'BB' : [2, 5, 8, 7],
    'CC' : [3, 6, 9, 1]
}).set_index('date')
登录后复制
To convert, reset the index and then melt:
登录后复制
df = df.reset_index()
pd.melt(df, id_vars='date', value_vars=['AA', 'BB', 'CC'])
登录后复制

或者,在 .melt 之后使用 .reset_index 来删除指定 value_vars 的需要。

dfm = df.melt(ignore_index=False).reset_index()
登录后复制

生成的数据帧将看起来像:

     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
登录后复制

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板