ホームページ >バックエンド開発 >Python チュートリアル >Pandas の「melt」関数は、日付列を含むデータを行にどのように再形成できるでしょうか?

Pandas の「melt」関数は、日付列を含むデータを行にどのように再形成できるでしょうか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-30 11:02:14470ブラウズ

How Can Pandas' `melt` Function Reshape Data with Date Columns into Rows?

Pandas を使用して列を行に変換

表形式データに列ヘッダーとして日付が含まれている場合、それらの列を対応する値を持つ行に変換することは貴重なタスクとなる可能性があります。この変換を実現するために、Python の Pandas ライブラリは便利なソリューションを提供します。

問題

提供されたデータセットは、情報がさまざまな日付の場所ごとにグループ化され、それぞれが個別の列ヘッダーで表される構造を示しています。目標は、このデータを、各行が場所、日付、および関連する値を表す形式に再形成することです。

解決策

列を行に変換するために、Pandas はメルト関数を提供します。この関数を使用すると、どの列が列ヘッダーとして機能し、どの列が行ヘッダーとして機能するかを指定できます。このコンテキストでは、名前と場所が行ヘッダーとして設定され、日付ヘッダーが単一の Date 列に統合され、その値が Value 列になります。

df.melt(id_vars=["location", "name"],
        var_name="Date",
        value_name="Value")

結果の DataFrame は次のようになります。期待される出力:

  location  name        Date  Value
0        A  "test"    Jan-2010     12
1        B   "foo"    Jan-2010     18
2        A  "test"    Feb-2010     20
3        B   "foo"    Feb-2010     20
4        A  "test"  March-2010     30
5        B   "foo"  March-2010     25

Pandas の古いバージョン (

df2 = pd.melt(df,
                  id_vars=["location", "name"], 
                  var_name="Date",
                  value_name="Value")
df2 = df2.sort(["location", "name"])

以上がPandas の「melt」関数は、日付列を含むデータを行にどのように再形成できるでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。