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))