首頁 >後端開發 >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