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で、変更したい名前を指定して実行します。
名前を人口に変更できました。