ホームページ >バックエンド開発 >Python チュートリアル >Pandas でデータをワイド形式からロング形式に再形成するにはどうすればよいですか?

Pandas でデータをワイド形式からロング形式に再形成するにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-16 14:57:03177ブラウズ

How to Reshape Data from Wide to Long Format in Pandas?

パンダでのワイドからロングへのデータの再形成

パンダでは、データフレームをワイド形式からロング形式に変換できます。これは、共有列と日付に基づいてデータフレームを別のデータフレームとマージする場合に便利です。

次のデータフレームを考えてみましょう:

        AA  BB  CC
date
05/03     1   2   3
06/03     4   5   6
07/03     7   8   9
08/03     5   7   1

このデータフレームを長い形式に変換するには、次のいずれかを使用します。 pandas.melt または pandas.DataFrame.melt.

df = pd.DataFrame({
    'date' : ['05/03', '06/03', '07/03', '08/03'],
    'AA' : [1, 4, 7, 5],
    'BB' : [2, 5, 8, 7],
    'CC' : [3, 6, 9, 1]
}).set_index('date')
To convert, reset the index and then melt:
df = df.reset_index()
pd.melt(df, id_vars='date', value_vars=['AA', 'BB', 'CC'])

または、.melt の後に .reset_index を使用して、value_vars.

dfm = df.melt(ignore_index=False).reset_index()

を指定する必要をなくします。結果のデータフレームは次のようになります:

     date variable  value
0   05/03       AA      1
1   06/03       AA      4
2   07/03       AA      7
3   08/03       AA      5
4   05/03       BB      2
5   06/03       BB      5
6   07/03       BB      8
7   08/03       BB      7
8   05/03       CC      3
9   06/03       CC      6
10  07/03       CC      9
11  08/03       CC      1

以上がPandas でデータをワイド形式からロング形式に再形成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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