numpyを使用して連続したテストセットと残りをトレーニングセットとして切り取る


このrepoはpythonテクニック、書籍、学習リンクなどを記録するために使われています。starを歓迎します。


githubアドレス


もともとnumpyからarray形式のデータを連続したテストセットから抽出できるものを探して、残りをトレーニングセットの関数にしようとしたが、見つからず、自分でいくつか書いて、記録した~
import numpy as np

"""
utils:
     
"""

def trunc(arr, start, end):
    sample = arr[start:end]
    remainder = np.delete(arr, np.s_[start:end], axis=0)
    return sample, remainder

def trunc2(arr, start, end):
    rows = arr.shape[0]
    sample = arr.take(range(start, end), axis=0)
    remaind = arr.take(list(set(range(rows)) - set(range(start, end))), axis=0)
    return sample, remaind

def trunc3(arr, start, end):
    head, middle, tail = np.split(arr, (start, end))
    head_tail = np.r_[head, tail]
    return middle, head_tail

if __name__ == "__main__":
    arr = np.arange(24).reshape(6, 4)
    print(trunc(arr, 2, 5))
    print(trunc2(arr, 2, 5))
    print(trunc3(arr, 2, 5))

このrepoはpythonテクニック、書籍、学習リンクなどを記録するために使われています。starを歓迎します。


githubアドレス