Pythonを使ってデータの処理を行う場合、pandasというライブラリは非常に便利です。特に、表形式で表現されたデータを扱う場合には、pandasのデータフレームというデータ構造を活用すると作業効率が大幅に向上します。今回は、pandasのデータフレームを行・列をリストに変換する方法についてご説明いたします。
1. データフレームの準備
まずは、データフレームを作成します。たとえば以下のようなデータを持つデータフレームを作成してみましょう。本記事では、日本の都道府県別の人口を扱います。
import pandas as pd data = {'都道府県': ['北海道', '青森県', '岩手県', '宮城県', '秋田県'], '人口(万人)': [5381, 1250, 1226, 2332, 1023]} df = pd.DataFrame(data)
2. 行をリストに変換する方法
データフレームの行をリストに変換するには、ilocメソッドを使用します。ilocメソッドは、データフレームのインデックス(行と列の番号)を指定して、値を取得します。以下のようなコードを書くことで、データフレームの1行目をリストに変換することができます。
row_list = df.iloc[0, :].tolist() print(row_list)
上記のコードを実行すると、以下の出力が得られます。
[‘北海道’, 5381]
データフレームの1行目が、リストとして出力されました。
3. 列をリストに変換する方法
次に、データフレームの列をリストに変換する方法について説明します。列をリストに変換するには、データフレームの列名(ヘッダー)を指定して、tolist()メソッドを呼び出します。以下のようなコードを書くことで、データフレームの「都道府県」列をリストに変換することができます。
col_list = df['都道府県'].tolist() print(col_list)
上記のコードを実行すると、以下の出力が得られます。
[‘北海道’, ‘青森県’, ‘岩手県’, ‘宮城県’, ‘秋田県’]
データフレームの「都道府県」列が、リストとして出力されました。
データフレームを二次元配列に変換する
データフレームの複数の列をリストに変換する場合は以下のように記述します
data = [list(e) for e in zip(df['都道府県'],df['人口(万人)'])] data
<出力結果>
[[‘北海道’, 5381], [‘青森県’, 1250], [‘岩手県’, 1226], [‘宮城県’, 2332], [‘秋田県’, 1023]]
関連記事:【Python】データフレームの複数列を、2次元配列リストに変換する方法
numpyを使用する場合
またNumpyを用いて以下のように記述することでも変換することができます
import numpy as np df.values.tolist()
おわりに
本記事では、pandasのデータフレームの行・列をリストに変換する方法について解説いたしました。データ分析や機械学習の分野での活用に加え、Web開発などでもデータフレームを扱う機会があるかと思います。今後もpandasを活用して、効率的かつ正確なデータ処理を行いましょう。
コメント