Pythonのpandasメソッド pandas.melt

2023年10月9日

pandasmeltメソッドは、データフレームの形状を変更し、ワイドフォーマット(wide format)からロングフォーマット(long format)にデータを変換するためのメソッドです。ワイドフォーマットでは列が多くの変数を含む場合に、ロングフォーマットに変換することでデータをより扱いやすくします。

以下は、meltメソッドの基本的な使い方です:

python
import pandas as pd

# サンプルのワイドフォーマットのDataFrameを作成する
data = {'日付': ['2023-01-01', '2023-01-02', '2023-01-03'],
        'A': [1, 2, 3],
        'B': [4, 5, 6],
        'C': [7, 8, 9]}

df = pd.DataFrame(data)

# ワイドフォーマットからロングフォーマットに変換する
melted_df = df.melt(id_vars=['日付'], value_vars=['A', 'B', 'C'], var_name='変数', value_name='値')

# 結果を表示する
print(melted_df)

上記のコードでは、meltメソッドを使用して、DataFrame df のワイドフォーマットのデータをロングフォーマットに変換しています。id_vars引数には変換後のデータに残す列を指定し、value_vars引数には変換する列を指定します。var_name引数とvalue_name引数は、変換後のデータフレームの列名を指定します。

meltメソッドの主な特徴は以下です:

  • id_vars引数に指定した列は、変換後のデータにそのまま残ります。
  • value_vars引数に指定した列が変換され、var_name引数で指定した列名で列が生成され、value_name引数で指定した列名で値が格納されます。

meltメソッドは、データの形状変更を通じてデータの解析や可視化を行うのに役立ちます。特に、多変数のデータを扱う際に、変数ごとに列が並ぶワイドフォーマットから、変数と値の組が並ぶロングフォーマットに変換することがよく行われます。