Blog

  • 【Python入門】多次元リストの基本とデータ分析での活用方法

    Pythonの「リスト」は、データをまとめて扱える便利なデータ型ですが、さらに「リストの中にリスト」を格納することで、より複雑なデータ構造を表現できます。この構造は多次元リストと呼ばれ、データ分析においても非常に役立つスキルです。

    この記事では、

    1. 多次元リストの基本
    2. データ分析での活用例
    3. 実際のコード例
      を初心者にもわかりやすく解説します。

    多次元リストとは?

    多次元リストとは、「リストの中にリストを格納した構造」のことです。これを使うと、表形式や行列のようなデータを簡単に扱えるようになります。

    具体例

    次のコードは、3つのリストを1つのリストにまとめたものです。

    python
    data = [[1, 2], [3, 4], [5, 6]]
    print(data)

    出力結果:

    lua
    [[1, 2], [3, 4], [5, 6]]

    この構造をわかりやすく言うと、「2行3列の表」に似ています。

    • data[0][1, 2] (1行目のデータ)
    • data[1][3, 4] (2行目のデータ)

    多次元リストの作成ポイント

    多次元リストを扱う際のコツを以下にまとめます。

    1. 改行して書く
      データが多くなるときは、見やすいように改行を入れて記述します。

      python
      data = [
      [1, 2],
      [3, 4],
      [5, 6]
      ]
    2. インデントを統一
      リスト内の要素のインデントを揃えると、コードが読みやすくなります。

    データ分析での多次元リストの活用例

    データ分析の現場では、表形式のデータを扱うことがよくあります。多次元リストを使えば、簡単なデータの操作や分析が可能です。以下に具体例を挙げます。

    1. 行列データの表現

    例えば、次のような学生のテストの点数表を考えてみましょう。

    python
    scores = [
    [80, 90, 85], # 学生Aの点数
    [78, 88, 92], # 学生Bの点数
    [90, 85, 87] # 学生Cの点数
    ]

    活用例: 平均点の計算

    各学生の平均点を計算するコードは以下の通りです。

    python
    for i, student_scores in enumerate(scores):
    average = sum(student_scores) / len(student_scores)
    print(f"学生{i+1}の平均点: {average}")

    出力結果:

    makefile
    学生1の平均点: 85.0
    学生2の平均点: 86.0
    学生3の平均点: 87.33333333333333

    2. CSVデータの簡易操作

    CSVファイルから読み込んだデータを多次元リストに格納し、操作することも可能です。以下は、売上データの例です。

    python
    sales_data = [
    ["2023-01-01", 1000, 2000, 1500],
    ["2023-01-02", 1200, 2500, 1700],
    ["2023-01-03", 900, 1800, 1600]
    ]

    活用例: 日ごとの合計売上

    python
    for day in sales_data:
    date = day[0]
    total_sales = sum(day[1:])
    print(f"{date} の合計売上: {total_sales}")

    出力結果:

    yaml
    2023-01-01 の合計売上: 4500
    2023-01-02 の合計売上: 5400
    2023-01-03 の合計売上: 4300

    3. データフレームを扱う前の練習

    本格的なデータ分析では、Pandasを使ったデータフレーム操作が主流ですが、多次元リストを使えばデータフレームの基本的な構造や操作に慣れることができます。Pandasを学ぶ前の練習としても最適です。


    注意点: 多次元リストの限界

    多次元リストは便利ですが、データが大きくなると管理が難しくなります。そのため、大規模なデータ分析ではPandasなどの専用ライブラリを活用するのがおすすめです。


    結論

    多次元リストは、Python初心者が学ぶべき重要なスキルの一つです。特にデータ分析では、表形式のデータを扱う基礎として非常に役立ちます。今回の内容を参考に、以下を練習してみましょう。

    • リストの中にリストを作成する
    • 各行・列のデータを操作する
    • 小規模なデータを使った分析を実践する

    多次元リストに慣れたら、次はPandasやNumpyを使った高度な分析に挑戦してみてください!


    この記事があなたのPython学習とデータ分析スキル向上の手助けになれば幸いです。

  • Pythonのリスト型とは?

    Pythonのリスト型は、複数の値を一つの変数で一括管理できる役立つデータ型です。関連するデータを一つにまとめたり、順序をつけて管理することが可能です。


    リストの基本的な書き方

    リストは、下記のように記述します。

    # 数値のリスト
    list_1 = [0, 1, 2]
    
    # 文字列のリスト
    list_2 = ["象", "キリン", "パンダ"]
    
    print(list_1)  # 結果: [0, 1, 2]
    print(list_2)  # 結果: ['象', 'キリン', 'パンダ']
    • 記法: [] の中に値をカンマ(,)で区切って記述します。
    • リストの要素: リストに含まれる値を「要素」と呼びます。

    リストの特徴

    1. 順序がある
      • リストの要素には順序があり、最初の要素を「0番目」として数えます。
      • : "象" はリスト [象, キリン, パンダ] の「0番目の要素」です。
    2. さまざまなデータ型を含めることができる
      • リストは数値、文字列、そして別のリストを含めることも可能です。
      mixed_list = [1, "象", [2, 3]]
      print(mixed_list)  # 結果: [1, '象', [2, 3]]

    要素へのアクセス

    リスト内の要素には、**インデックス(番号)**を使ってアクセスすることができます。

    animals = ["象", "キリン", "パンダ"]
    
    # 0番目の要素を取得
    print(animals[0])  # 結果: 象
    
    # 1番目の要素を取得
    print(animals[1])  # 結果: キリン

    リストの用途

    1. データのグループ化
      • 関連するデータを一つにまとめて管理できます。例:客様リストや商品リスト
    2. 順序付きデータの管理
      • データが順番に並んでいる場合、リストを使うと簡単に処理できます。
    3. データの操作
      • リストは、要素の追加・削除・変更を行うことが可能です。

    まとめ

    • リスト型は、Pythonで複数の値を一つにまとめて管理するのに便利なデータ型です。
    • 基本操作:
      • 作成: [値1, 値2, ...]
      • 要素の取得: リスト名[インデックス番号]
    • リストを使えば、順序があるデータや複数の値を簡単に操作できます。
  • NumPyのndim属性を初心者向けにわかりやすく解説!〜次元数を知ってデータ分析をスムーズに〜

    NumPyを使ったデータ分析やプログラミングを始めるとき、**「次元」**という言葉をよく耳にします。この記事では、NumPyのndim属性を使って「次元」を簡単に確認する方法と、その重要性を初心者向けにわかりやすく解説します!

    そもそも「次元」ってなに?

    簡単に言うと、次元とはデータの形の複雑さを表すものです。

    • 0次元: 単なる1つの値(例: 数字 42)
    • 1次元: 一列に並んだデータ(例: リスト [1, 2, 3])
    • 2次元: 行と列を持つデータ(例: 表やスプレッドシート)
    • 3次元以上: より複雑な構造(例: 動画データや3Dモデル)

    NumPyのndim属性とは?

    NumPyには、データ(配列)の次元数を確認するための**ndim**という便利な属性があります。これを使えば、今扱っているデータが何次元なのかをすぐに確認できます。

     

    使い方はとっても簡単!

    まずはndimを使って次元数を確認する方法を見てみましょう。

    例: 0次元から3次元までの確認

    python

    import numpy as np

    # 0次元 (スカラー)
    a = np.array(42)
    print(a.ndim) # 結果: 0

    # 1次元 (ベクトル)
    b = np.array([1, 2, 3])
    print(b.ndim) # 結果: 1

    # 2次元 (行列)
    c = np.array([[1, 2, 3], [4, 5, 6]])
    print(c.ndim) # 結果: 2

    # 3次元 (多次元配列)
    d = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
    print(d.ndim) # 結果: 3

    なぜndimを使うのか?

    次元数を知ることは、データ分析やプログラミングの際に以下のような場面で役立ちます。

    1. データの形を理解するため

    例えば、2次元データなら行列演算が可能ですが、1次元データでは適用できない場合があります。次元数を事前に確認しておけば、エラーを未然に防ぐことができます。

    2. データ処理を適切に行うため

    次元数によって使用する関数や処理方法が異なります。次元数を確認することで、正しい方法でデータを操作できます。

    3. 複雑なデータ構造を整理するため

    高次元データ(3次元以上)では、次元ごとに意味を持つことが多いです(例: 動画データのフレーム・高さ・幅)。ndimを使うことで、データの構造を正しく理解しやすくなります。


    初心者が知っておくと良いポイント

    • 0次元データ: 単一の値 → 計算や条件判定に使える。
    • 1次元データ: リストのように並んだデータ → 順序や要素ごとの処理に便利。
    • 2次元データ: 表形式 → 行列計算やテーブル操作に利用。
    • 3次元以上: 複雑なデータ構造(例: 画像や動画) → 専門的なデータ分析に役立つ。

    まとめ

    ndimは、NumPyで配列の次元数を確認するための非常に便利な属性です。次元数を把握することで、データの形を理解し、正しく操作できるようになります。

    特に以下のような人に役立ちます:

    • プログラミング初心者
    • データ分析を始めたばかりの人
    • 機械学習や画像処理に興味がある人

    まずは、自分のデータが何次元なのかを確認することから始めましょう!


    次のステップ

    • 実際にndimを使って自分のデータを確認してみよう!
    • 2次元データや3次元データを作成して、ndimがどのように変わるか試してみる。

    ぜひ、この記事を参考にしてNumPyを使いこなしてください! 😊