![見出し画像](https://assets.st-note.com/production/uploads/images/47092914/rectangle_large_type_2_57905b3770dc69995dc64e82dc4b3a14.jpeg?width=1200)
Photo by
jlnta
リストを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でリストをまとめていく方法にも慣れ親しんでいければ…
いいなと思ったら応援しよう!
![在野研究者トシヤ](https://assets.st-note.com/production/uploads/images/68199001/profile_1b4bacf8d5918b8f4e27ae33c1707504.jpg?width=600&crop=1:1,smart)