ホームページ >バックエンド開発 >Python チュートリアル >Pandas の「melt」関数は、グループ列と名前列を追加してデータフレームをどのように再形成できるのでしょうか?
DataFrame df と辞書を考えます。 df を、グループと名前という列を追加したテーブルに再形成することを目的としています。目的の出力は次のようになります。
Group Name Year Value 0 A Amy 2013 2 1 A Amy 2014 9 2 B Bob 2013 4 3 B Bob 2014 2 4 B Ben 2013 1 5 B Ben 2014 5 6 C Carl 2013 7 7 C Carl 2014 4 8 C Chris 2013 8 9 C Chris 2014 5 10 Other 2013 3 11 Other 2014 6
この再形成を実現するには、Pandas のメルト関数を利用します。
m = pd.melt(df, id_vars=['Year'], var_name='Name')
これにより、メルトされた DataFrame が作成されます。 m には、年、名前、および値の列が入ります。 Group 列を追加するには、d を次のように再形成します。
d2 = {} for k, v in d.items(): for item in v: d2[item] = k
次に、d2 を m['Name'] にマップして、Group 列を設定します。
m['Group'] = m['Name'].map(d2)
最後に、次のようにします。 「その他」の値を Name から Group に移動します:
mask = m['Name'] == 'Other' m.loc[mask, 'Name'] = '' m.loc[mask, 'Group'] = 'Other'
結果の DataFrame m は、目的のデータフレーム m と一致します。出力。
以上がPandas の「melt」関数は、グループ列と名前列を追加してデータフレームをどのように再形成できるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。