numpy.ndarray.reshape()関数パラメーターの問題

配列の形状numpy.ndarray.reshape()を変更numpyするために使用されることわかっていますが、そのパラメーターにはいくつかの特別な用途があります。ここでさらに説明します。コードは次のように表示されます。

import numpy as np


class Debug:
    def __init__(self):
        self.array1 = np.ones(6)

    def mainProgram(self):
        print("The value of array1 is: ")
        print(self.array1)
        print("The array2 is: ")
        array2 = self.array1.reshape(2, 3)
        print(array2)


if __name__ == '__main__':
    main = Debug()
    main.mainProgram()
"""
The value of array1 is: 
[1. 1. 1. 1. 1. 1.]
The array2 is: 
[[1. 1. 1.]
 [1. 1. 1.]]
"""

ここで6長さの1次元配列をサイズの2次元配列に変換したことがわかります。ここ(2, 3)で、2代表的な2行はy軸に対応し、3代表的な3列はx軸に対応します。

ただし、-1このパラメーターを形状変更に使用する場合があります。このパラメーターを使用すると、配列の形状変更が非常に簡単なります。コードは次のように表示されます。

class Debug:
    def __init__(self):
        self.array1 = np.ones(6)

    def mainProgram(self):
        print("The value of array1 is: ")
        print(self.array1)
        print("The array2 is: ")
        array2 = self.array1.reshape(-1, 3)
        print(array2)


if __name__ == '__main__':
    main = Debug()
    main.mainProgram()
"""
The value of array1 is: 
[1. 1. 1. 1. 1. 1.]
The array2 is: 
[[1. 1. 1.]
 [1. 1. 1.]]
"""

reshape最初のパラメータをに変更-1ても(2, 3)サイズの配列がられることがわかります。実際、ここでは、-1代表的な手段は6 / 3 =26成形される1次元配列の長さであり、3指定されています。一方向の2次元配列の寸法。これの利点は、データ量が比較的多い場合、2次元配列を再形成するときに1つの次元のサイズを指定するだけでよく、他の次元のサイズpythonが自動的に計算されることです。

役に立ったら手を挙げていいねをあげて、もっと多くの人にオススメさせてください〜

おすすめ

転載: blog.csdn.net/u011699626/article/details/109006973