【毎日Python】Pythonで横持ちのデータを縦持ちに整形する方法|pandas.melt

melt
こつこつPython
import pandas as pd

Pythonで、横持ちのデータを縦持ちデータに整形する方法です。
使用するのはPythonのpandasライブラリのmeltメソッドです。
横持ちとは、項目が増えたときに横に増えるデータ構造のことを指し、縦に増えるデータ構造を縦持ちと言います。

df = pd. read_csv('sample_data/data_pivot.csv')
df

今回はこのようなデータフレームを使用します。

pd.melt(df, id_vars='都道府県名')

meltの第一引数に、整形したいデータフレーム、引数id_varsに軸にしたいカラムを指定します。
指定した都道府県を軸に、縦持ちのデータに整形されました。

pd.melt(df, id_vars='都道府県名', value_vars='2010.0')

引数にvalue_varsでカラムを指定すると、そのカラムの要素だけで表示させることができます。
実行します。
都道府県を軸に、指定した2010の要素だけが表示されました。

pd.melt(df, id_vars='都道府県名', var_name='西暦')

variableというカラム名を変更してみましょう。
引数にvar_nameで、変更したい名前を指定します。
実行します。
名前を西暦に変更できました。

pd.melt(df, id_vars='都道府県名', var_name='西暦', value_name='人口')

valueというカラム名も変更してみましょう。
引数にvalue_nameで、変更したい名前を指定して実行します。
名前を人口に変更できました。

関連メソッド

【毎日Python】Pythonでデータフレームを縦持ちデータから横持ちに整形する方法|pandas.pivot

【毎日Python】Pythonで横持ちデータと縦持ちデータの整形|DataFrame.stack/unstack

未経験からはじめるPython学習「キノクエスト」 キノクエスト
  • スキルアップしたいけど何からはじめればよいかわからない…
  • プログラミングスクールに入りたいけど料金が高い…
  • プログラミングを学んでも業務やキャリアに活かせるか不安…

キノクエストは、このような悩みを持つ方にぴったりのプログラミング学習サービスです。
国内最大級のプログラミング学習系YouTubeチャンネル「キノコード」が提供しているから、未経験者にもわかりやすく質の高い学習体験を実感していただけます。

キノクエスト