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中文网其他相关文章!