見出し画像

リストをzipでまとめ、さらにそれをもとにlistする

今日は、『つくってマスターPython』の第4章 "文書を処理する”で学んだことをアウトプットします。

データをDataFrameにまとめて表示する

データフレームのイメージについては、先日投稿しました。

今回は、データを作成し、それをDataFrameに設定して表示します。

import random
import pandas as pd

arr1 = ['東京'] * 2 + ['大阪'] * 2 + ['横浜'] * 2
arr2 = ['前期', '後期'] * 3
arr3 = [random.randint(1, 100) for i in range(6)]

data = list(zip(arr1, arr2, arr3))
df = pd.DataFrame(data=data, columns=['支店', '期間', '売上'])
print(df)

リストをzipでまとめ、さらにそれをもとにlistする

用意された3つのリスト(arr1, arr2, arr3)は、zipという関数を使って、1つにまとめられ、それをもとにリストが作成されています。
data = list(zip(arr1, arr2, arr3)
zipは、引数に用意される値を1つのイテラブルな値(値を順に取り出す仕組みを持ったオブジェクト)にまとめます。この値をそのまま引数にしてlistを呼び出し、リストを作成します。これにより、zipの引数に指定したリストを1つずつタプルに取り出したリストが作成されます。
list(zip([‘A’, ‘B’], [100, 200]))
↓
[(‘A’, 100), (‘B’, 200)]
[‘A’, ‘B’]と[100, 200]という2つのリストから、順に値を取り出し、(‘A’, 100)と(‘B’, 200)というタプルを作って、これをリストにまとめています。
DataFrameでは、様々なデータをリストとして用意し、それをひとつにまとめてDateFrameに設定します。このような場合、リストをzipでまとめ、さらにそれをもとにlistする、というやり方でデータをまとめていくのです。

これから徐々に、zipでリストをまとめていく方法にも慣れ親しんでいければ…

サポート、本当にありがとうございます。サポートしていただいた金額は、知的サイドハッスルとして取り組んでいる、個人研究の費用に充てさせていただきますね♪