ホームページ > バックエンド開発 > Python チュートリアル > Pandas DataFrame 列を「日付」列と「値」列を含む行に変換する方法

Pandas DataFrame 列を「日付」列と「値」列を含む行に変換する方法

Patricia Arquette
リリース: 2024-12-30 09:07:11
オリジナル
603 人が閲覧しました

How to Transform Pandas DataFrame Columns into Rows with a

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

データセットを列から行に再形成するには、各列が異なる日付を表し、目的の出力には「日付」列が必要です。および「値」列では、Pandas メルトを使用します。 function.

解決策:

df.melt(id_vars=["location", "name"],
        var_name="Date",
        value_name="Value")
ログイン後にコピー

例:

import pandas as pd

df = pd.DataFrame(
    {
        "location": ["A", "B"],
        "name": ["test", "foo"],
        "Jan-2010": [12, 18],
        "Feb-2010": [20, 20],
        "March-2010": [30, 25],
    }
)

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

print(result)
ログイン後にコピー

出力:

  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"])

# Optionally, reset the index
# df2 = df2.reset_index(drop=True)
ログイン後にコピー

このコードは、出力を「場所」と「名前」で並べ替え、インデックスのないクリーンな出力を提供します。

注: 新しいバージョンの Pandas では、sort の代わりに sort_values を使用します。

以上がPandas DataFrame 列を「日付」列と「値」列を含む行に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート