首页 >后端开发 >Python教程 >Pandas 的'melt”函数如何将日期列数据重塑为行?

Pandas 的'melt”函数如何将日期列数据重塑为行?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-30 11:02:14470浏览

How Can Pandas' `melt` Function Reshape Data with Date Columns into Rows?

使用 Pandas 将列转换为行

当表格数据包含日期作为列标题时,将这些列转换为具有相应值的行可能是一项有价值的任务。为了实现这种转换,Python 的 Pandas 库提供了一个方便的解决方案。

问题

提供的数据集展示了一种结构,其中信息按不同日期的位置进行分组,每个日期都由不同的列标题表示。目标是将这些数据重塑为一种格式,其中每行代表一个位置、日期和关联值。

解决方案

为了将列转换为行,Pandas 提供了熔化函数。此函数允许我们指定哪些列应作为列标题,哪些列应作为行标题。在这种情况下,名称和位置被设置为行标题,日期标题被融合到单个日期列中,而它们的值成为值列。

df.melt(id_vars=["location", "name"],
        var_name="Date",
        value_name="Value")

生成的 DataFrame 将类似于预期输出:

  location  name        Date  Value
0        A  "test"    Jan-2010     12
1        B   "foo"    Jan-2010     18
2        A  "test"    Feb-2010     20
3        B   "foo"    Feb-2010     20
4        A  "test"  March-2010     30
5        B   "foo"  March-2010     25

对于旧版本的 Pandas(

df2 = pd.melt(df,
                  id_vars=["location", "name"], 
                  var_name="Date",
                  value_name="Value")
df2 = df2.sort(["location", "name"])

以上是Pandas 的'melt”函数如何将日期列数据重塑为行?的详细内容。更多信息请关注PHP中文网其他相关文章!

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