背景
- pythonで多次元リストを作成したい時がある。
- 作成した多次元リストをdfに変換したい時がある。
- 今回はリストに一意の項目を追加する多次元リストの作成方法と多次元リストからdfに変換する方法を紹介する。
目標
- pythonでの多次元リストの作成方法を覚える。
- pythonの多次元リストからdfに変換する方法を覚える。
この記事でやること
- 東京都の市町村リストに対して、東京都という項目を追加した多次元リストを作成する。
- 多次元リストをdfに変換する。
市町村リスト
tokyo_cities = ['千代田区','世田谷区','〜略〜','町田市']
作成する多次元リスト
print(multi_list)
[['東京都', '千代田区'], ['東京都', '世田谷区'], ['東京都', '〜略〜'], ['東京都', '町田市']]
多次元リストから変換したdf
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に変換する方法
多次元リストをdfに変換
#DataFrameを使用したいのでpandasをimport
import pandas as pd
#dfへの変換は以下の通り。多次元リストと対応するカラム名を指定する。
df = pd.DataFrame(multi_list,columns =['都道府県','市町村名'])
print(df)
都道府県 市町村名
0 東京都 千代田区
1 東京都 世田谷区
2 東京都 〜略〜
3 東京都 町田市
補足
- もっと良い方法もあると思う。
- そのうちnumpy arrayでのやり方の記事も書こう。
参考資料
個人ブログ