numpy.split と numpy.array_split
個人的に、multiprocessing で並列処理を行う時に多用しています。
numpy.array の分割には、numpy.split と numpy.array_split の2つがあります。
# coding: utf-8
import pandas as pd
import numpy as np
X = np.array([[1,2],[2,3],[3,2],[4,6]])
numpy.split だと等分割します。
np.split(X,4)
[array([[1, 2]]), array([[2, 3]]), array([[3, 2]]), array([[4, 6]])]
しかしながら、等分割にならなければエラーになります。
上の例だと、np.split(X,3) だとエラーになります。
ですが、numpy.array_split だと等分割にならなくても分解してくれます。
np.array_split(X,3)
[array([[1, 2],[2, 3]]), array([[3, 2]]), array([[4, 6]])]
特に役立つのは、並列処理でデータを分割する必要がある場合かと。
また、データフレームもdf.valuesでarrayになるので、データフレームを分割して処理する際にも便利だと思います。