ホームページ > バックエンド開発 > Python チュートリアル > Pandas の Melt 関数は、幅の広いデータフレームを追加の列を備えた必要な長い形式にどのように再形成できるでしょうか?

Pandas の Melt 関数は、幅の広いデータフレームを追加の列を備えた必要な長い形式にどのように再形成できるでしょうか?

Barbara Streisand
リリース: 2024-12-08 08:40:12
オリジナル
928 人が閲覧しました

How Can Pandas' Melt Function Reshape Wide Dataframes into a Desired Long Format with Additional Columns?

データ変換のための Pandas Melt 関数

Pandas で複雑なデータ再構築タスクに直面した場合、Melt 関数が強力なツールとして現れます。データフレームを、複数の列を含むワイド形式から列数の少ないロング形式にシームレスに変換します。

実際のシナリオでは、再形成が必要なデータフレームを検討します。

df = pd.DataFrame([[2, 4, 7, 8, 1, 3, 2013], [9, 2, 4, 5, 5, 6, 2014]],
               columns=['Amy', 'Bob', 'Carl', 'Chris', 'Ben', 'Other', 'Year'])
ログイン後にコピー
   Amy  Bob  Carl  Chris  Ben  Other  Year
0    2    4     7      8    1      3  2013
1    9    2     4      5    5      6  2014
ログイン後にコピー

これを変換するにはデータフレームをより構造化された形式に変換するには、メルト関数を使用できます:

m = pd.melt(df, id_vars=['Year'], var_name='Name')
ログイン後にコピー

この操作により次のものが生成されます。 dataframe:

    Year   Name  value
0   2013    Amy      2
1   2014    Amy      9
2   2013    Bob      4
3   2014    Bob      2
4   2013   Carl      7
...
ログイン後にコピー

ただし、目的の出力には「Group」という名前の追加列が含まれています。これを取得するには、辞書の形状を変更します:

d2 = {}
for k, v in d.items():
    for item in v:
        d2[item] = k
ログイン後にコピー

データフレームは、「Group」列で更新できるようになります:

m['Group'] = m['Name'].map(d2)
ログイン後にコピー

最後に、「Name」から「Other」を移動します。列を「グループ」列に追加します:

mask = m['Name'] == 'Other'
m.loc[mask, 'Name'] = ''
m.loc[mask, 'Group'] = 'Other'
ログイン後にコピー

結果のデータフレームは、目的のデータフレームと完全に一致します。出力:

    Year   Name  value  Group
0   2013    Amy      2      A
1   2014    Amy      9      A
2   2013    Bob      4      B
3   2014    Bob      2      B
4   2013   Carl      7      C
...
ログイン後にコピー

このように、Pandas のメルト関数は、データ サイエンティストにデータフレームを再形成するための多用途かつ効率的なメカニズムを提供し、さまざまな分析や視覚化の目的でデータを簡単に変換および再編成できるようにします。

以上がPandas の Melt 関数は、幅の広いデータフレームを追加の列を備えた必要な長い形式にどのように再形成できるでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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