2次元配列を分割する方法 - Pythonの効果的な手法


  1. リストのスライスを使用して分割する方法

    array = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]
    split_array = [array[i:i+2] for i in range(0, len(array), 2)]
    print(split_array)

    出力:

    [[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]

    この方法では、リストのスライスを使用して2次元配列を指定したサイズごとに分割しています。

  2. numpyライブラリを使用して分割する方法

    import numpy as np
    
    array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]])
    split_array = np.split(array, 2, axis=0)
    print(split_array)

    出力:

    [array([[1, 2, 3],
           [4, 5, 6]]),
    array([[ 7,  8,  9],
           [10, 11, 12]])]

    numpyライブラリのnp.split関数を使用すると、指定した軸(axis)に沿って2次元配列を分割できます。

  3. pandasライブラリを使用して分割する方法

    import pandas as pd
    
    array = [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]
    df = pd.DataFrame(array)
    split_array = np.array_split(df, 2)
    print(split_array)

    出力:

    [   0  1  2
    0  1  2  3
    1  4  5  6,
      0   1   2
    2   7   8   9
    3  10  11  12]

    pandasライブラリのnp.array_split関数を使用すると、データフレームを指定した数の部分に分割できます。

これらの方法を使用すれば、Pythonで2次元配列を簡単に分割することができます。必要に応じて、リストやnumpy、pandasなど、使用するライブラリに応じて適切な方法を選択してください。