numpy+ndarray
追加
>>> x = np.array([]) >>> x = np.append(x, [1, 2]) >>> x array([ 1., 2.]) >>> x = np.append(x, [3, 4]) >>> x array([ 1., 2., 3., 4.]) >>> np.append(x, [5, 6, 7, 8], axis=0) array([ 1., 2., 3., 4., 5., 6., 7., 8.]) >>> x = np.append([x], [[5, 6, 7, 8]], axis=0) >>> x array([[ 1., 2., 3., 4.], [ 5., 6., 7., 8.]]) >>> x = np.append(x, [[9, 10, 11, 12]], axis=0) >>> x array([[ 1., 2., 3., 4.], [ 5., 6., 7., 8.], [ 9., 10., 11., 12.]]) def array_append(array1, array2): if(array1.shape == (0,)): array1 = np.array([ np.append(array1, array2) ]) else: array1 = np.append(array1, [array2], axis=0) return array1
複数の最大値を探索しindexを返す
>>> x = np.array([1, 0, 1, -1, -1]) >>> np.amax(x) 1 >>> np.argmax(x) 0 >>> np.argwhere( np.amax(x) == x ) array([[0], [2]]) >>> np.argwhere( np.amax(x) == x ).flatten() array([0, 2])
任意の行と列を取り出す
In [40]: y = range(10) In [41]: y Out[41]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] In [42]: y[::2] Out[42]: [0, 2, 4, 6, 8] In [43]: y[1::2] Out[43]: [1, 3, 5, 7, 9] In [49]: x Out[49]: array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) In [50]: x[0::2].transpose()[:2].transpose() Out[50]: array([[1, 2], [7, 8]],