Pandas实战100例 | 案例 38: 从宽格式转换为长格式

发布时间:2024年01月14日

案例 38: 从宽格式转换为长格式

知识点讲解

Pandas 的 melt 函数可以将数据从宽格式(每个观测值形成一列)转换为长格式(每个观测值形成一行)。这在某些情况下,特别是在数据需要以“堆叠”的形式进行分析时,非常有用。

  • 宽格式转长格式: 使用 melt 方法可以将宽格式的 DataFrame 转换为长格式。你可以指定保留的列(id_vars),以及新的列名(var_namevalue_name)。
示例代码
# 由于代码执行环境重置,需要重新导入 pandas 并准备数据
import pandas as pd

# 示例数据
data_wide_to_long = {
    'Date': ['2023-01-01', '2023-01-02'],
    'Sales_A': [200, 210],
    'Sales_B': [150, 160]
}
df_wide_to_long = pd.DataFrame(data_wide_to_long)

# 将数据从宽格式转换为长格式
long_format = df_wide_to_long.melt(id_vars='Date', var_name='Product', value_name='Sales')

df_wide_to_long, long_format


在这个示例中,我们使用 melt 方法将 DataFrame 从宽格式转换为长格式。

示例代码运行结果

原始宽格式 DataFrame (df_wide_to_long):

         Date  Sales_A  Sales_B
0  2023-01-01      200      150
1  2023-01-02      210      160

转换为长格式后 (long_format):

         Date  Product  Sales
0  2023-01-01  Sales_A    200
1  2023-01-02  Sales_A    210
2  2023-01-01  Sales_B    150
3  2023-01-02  Sales_B    160

这个结果显示了如何将宽格式数据转换为长格式,其中每个观测值都转换成了一行。这种转换对于某些类型的数据分析非常重要。

文章来源:https://blog.csdn.net/PoGeN1/article/details/135568642
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。