【Python】多次元リストの作成方法

背景

  • pythonで多次元リストを作成したい時がある。
  • 作成した多次元リストをdfに変換したい時がある。
  • 今回はリストに一意の項目を追加する多次元リストの作成方法と多次元リストからdfに変換する方法を紹介する。

目標

  • pythonでの多次元リストの作成方法を覚える。
  • pythonの多次元リストからdfに変換する方法を覚える。

この記事でやること

  • 東京都の市町村リストに対して、東京都という項目を追加した多次元リストを作成する。
  • 多次元リストをdfに変換する。
tokyo_cities = ['千代田区','世田谷区','〜略〜','町田市']
print(multi_list)
[['東京都', '千代田区'], ['東京都', '世田谷区'], ['東京都', '〜略〜'], ['東京都', '町田市']]
print(df)
  都道府県  市町村名
0  東京都  千代田区
1  東京都  世田谷区
2  東京都   〜略〜
3  東京都   町田市

多次元リストの作成方法

#多次元リストの用意
multi_list = []

#市町村リストの用意
tokyo_cities = ['千代田区','世田谷区','','町田市']

#enumerateを使用して、「東京都」という値を入れたいリストで回す。
for i, item in enumerate(tokyo_cities):
    #多次元リストを作りたいので、リストの中にリストを追加
    multi_list.append([])
    #リストの中にあるリストの最初に「東京都」という要素を追加
    multi_list[i].append('東京都')
    #次の要素には、市町村名を入れたいので、tokyo_cities要素を追加
    #ここで、enumerateを使用しておくとリストの該当要素番号が使用できるので楽
    multi_list[i].append(tokyo_cities[i])

print(multi_list)
[['東京都', '千代田区'], ['東京都', '世田谷区'], ['東京都', '・・・'], ['東京都', '町田市']]

多次元リストをdfに変換する方法

#DataFrameを使用したいのでpandasをimport
import pandas as pd

#dfへの変換は以下の通り。多次元リストと対応するカラム名を指定する。
df = pd.DataFrame(multi_list, columns =['都道府県','市町村名'])

print(df)
  都道府県  市町村名
0  東京都  千代田区
1  東京都  世田谷区
2  東京都   〜略〜
3  東京都   町田市

補足

  • もっと良い方法もあると思う。
  • そのうちnumpy arrayでのやり方の記事も書こう。

参考資料

Python で多次元リストを作成する
このチュートリアルでは、Python で他のリストを含むリストを作成する方法を示します。

Qiita記事

【Python】多次元リストの作成方法 - Qiita
背景pythonで多次元リストを作成したい時がある。作成した多次元リストをdfに変換したい時がある。今回はリストに一意の項目を追加する多次元リストの作成方法と多次元リストからdfに変換する方法…