首頁 > 後端開發 > Python教學 > 如何在 Pandas 中將資料從長格式重塑為寬格式:逐步指南

如何在 Pandas 中將資料從長格式重塑為寬格式:逐步指南

DDD
發布: 2024-10-28 05:26:30
原創
975 人瀏覽過

How to Reshape Data from Long to Wide Format in Pandas: A Step-by-Step Guide

在Pandas 中將資料從長變為寬:綜合指南

許多資料集最初以長格式存儲,其中每一行代表一個單一觀察值和多個變數列為列。然而,通常有必要將資料重塑為寬格式,其中每一行對應於兩個或多個變數值的唯一組合。

問題:將資料從長格式轉換為寬格式在 Pandas 中格式化可能是一項繁瑣的任務,特別是在使用熔化/堆疊/取消堆疊方法時。例如,考慮以下長格式資料框:

<code class="python">import pandas as pd

data = pd.DataFrame({
    'Salesman': ['Knut', 'Knut', 'Knut', 'Steve'],
    'Height': [6, 6, 6, 5],
    'product': ['bat', 'ball', 'wand', 'pen'],
    'price': [5, 1, 3, 2]
})</code>
登入後複製

重塑為寬格式:

要將資料重塑為寬格式,我們可以利用Chris Albon的解:

建立長資料框:

<code class="python">raw_data = {
    'patient': [1, 1, 1, 2, 2],
    'obs': [1, 2, 3, 1, 2],
    'treatment': [0, 1, 0, 1, 0],
    'score': [6252, 24243, 2345, 2342, 23525]
}

df = pd.DataFrame(raw_data, columns=['patient', 'obs', 'treatment', 'score'])</code>
登入後複製

重塑為寬:

<code class="python">df.pivot(index='patient', columns='obs', values='score')</code>
登入後複製

重塑為寬:

<code class="python">obs           1        2       3
patient
1        6252.0  24243.0  2345.0
2        2342.0  23525.0     NaN</code>
登入後複製
這將產生所需的寬格式資料框:

以上是如何在 Pandas 中將資料從長格式重塑為寬格式:逐步指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板