首页 > 后端开发 > Python教程 > 如何使用 pd.melt() 将 Pandas DataFrame 从宽格式重塑为长格式?

如何使用 pd.melt() 将 Pandas DataFrame 从宽格式重塑为长格式?

Susan Sarandon
发布: 2024-12-22 14:43:14
原创
663 人浏览过

How Can I Reshape a Pandas DataFrame from Wide to Long Format Using `pd.melt()`?

使用 Pandas 将列转换为行

此问题解决了将 CSV 数据集(其中日期相关信息分布在多个列中)转换为每个日期的格式的需求有自己的行。为了实现此转换,用户使用 pd.melt 函数。

原始 CSV 结构类似于:

location    name    Jan-2010    Feb-2010    March-2010
A           "test"  12          20          30
B           "foo"   18          20          25
登录后复制

所需的结果是一个包含位置、名称、日期和列的表格值:

location    name    Date        Value
A           "test"  Jan-2010    12       
A           "test"  Feb-2010    20
A           "test"  March-2010  30
B           "foo"   Jan-2010    18       
B           "foo"   Feb-2010    20
B           "foo"   March-2010  25
登录后复制

pd.melt 函数提供了重组数据的方法。它需要几个参数:

  • id_vars:在表融化时保持不变的列。在本例中,位置和名称。
  • var_name:将保存原始列名称(与熔化之前相同)的新列的名称。在本例中,为 Date.
  • value_name:将保存原始数据列中的值的列的名称。在本例中,值。
df.melt(id_vars=["location", "name"],
        var_name="Date",
        value_name="Value")
登录后复制

生成的 DataFrame 与所需的输出匹配,每个月现在占据单独的行。

以上是如何使用 pd.melt() 将 Pandas DataFrame 从宽格式重塑为长格式?的详细内容。更多信息请关注PHP中文网其他相关文章!

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