首页 >后端开发 >Python教程 >如何使用两个变量将 Pandas 中的长数据重塑为宽数据?

如何使用两个变量将 Pandas 中的长数据重塑为宽数据?

Susan Sarandon
Susan Sarandon原创
2024-10-29 18:05:02937浏览

How to Reshape Long to Wide Data in Pandas Using Two Variables?

Pandas 通过两个变量将长格式重塑为宽格式

在长格式和宽格式之间操作数据是数据分析中的常见任务。在 Python 的 Pandas 库中,melt 和 stack/unstack 操作通常用于此目的。然而,在某些需要更直接方法的情况下,可能会出现这种情况。

其中一种情况是将包含两个变量(例如,销售额等数字变量和产品等分类变量)的数据重塑为宽格式时。单独使用melt/stack/unstack 方法可能无法提供所需的输出。

在此示例中,我们有包含以下列的“长”数据:销售员、身高、产品和价格。我们的目标是将这些数据重塑为“宽”格式,其中包含每个独特产品的列,包括其相应的价格。

Salesman  Height   product      price
  Knut      6        bat          5
  Knut      6        ball         1
  Knut      6        wand         3
  Steve     5        pen          2

为了实现这一点,我们可以利用 Pandas 的数据透视功能,它提供了方便的创建数据透视表的方法。我们指定索引列 (Salesman)、数据透视列 (obs) 和值列 (price)。

以下是重塑数据的 Python 代码:

<code class="python">wide_df = df.pivot(index='Salesman', columns='product', values='price')</code>

这将生成所需的“宽”格式:

Salesman  Height    product_1  price_1  product_2 price_2 product_3 price_3  
  Knut      6        bat          5       ball      1        wand      3
  Steve     5        pen          2        NA       NA        NA       NA

以上是如何使用两个变量将 Pandas 中的长数据重塑为宽数据?的详细内容。更多信息请关注PHP中文网其他相关文章!

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