<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # 一、向量、矩陣和數組 > 作者:[Chris Albon](https://chrisalbon.com/) > > 譯者:[飛龍](https://github.com/wizardforcel) > > 協議:[CC BY-NC-SA 4.0](http://creativecommons.org/licenses/by-nc-sa/4.0/) ## 轉置矩陣或向量 ```py # 加載庫 import numpy as np # 創建向量 vector = np.array([1, 2, 3, 4, 5, 6]) # 創建矩陣 matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) # 轉置向量 vector.T # array([1, 2, 3, 4, 5, 6]) # 轉置矩陣 matrix.T ''' array([[1, 4, 7], [2, 5, 8], [3, 6, 9]]) ''' ``` ## 選擇數組中的元素 ```py # 加載庫 import numpy as np # 創建行向量 vector = np.array([1, 2, 3, 4, 5, 6]) # 選擇第二個元素 vector[1] # 2 # 創建矩陣 matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) # 選擇第二行第二列 matrix[1,1] # 5 # 創建矩陣 tensor = np.array([ [[[1, 1], [1, 1]], [[2, 2], [2, 2]]], [[[3, 3], [3, 3]], [[4, 4], [4, 4]]] ]) # 選擇三個維度的每個的第二個元素 tensor[1,1,1] # array([4, 4]) ``` ## 數組變形 ```py # 加載庫 import numpy as np # 創建 4x3 矩陣 matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]) # 將矩陣變形為 2x6 矩陣 matrix.reshape(2, 6) ''' array([[ 1, 2, 3, 4, 5, 6], [ 7, 8, 9, 10, 11, 12]]) ''' ``` ## 矩陣的逆 ```py # 加載庫 import numpy as np # 創建矩陣 matrix = np.array([[1, 4], [2, 5]]) # 計算矩陣的逆 np.linalg.inv(matrix) ''' array([[-1.66666667, 1.33333333], [ 0.66666667, -0.33333333]]) ''' ``` ## 獲取矩陣對角線 ```py # 加載庫 import numpy as np # 創建矩陣 matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) # 返回對角線元素 matrix.diagonal() # array([1, 5, 9]) # 創建矩陣的跡 matrix.diagonal().sum() # 15 ``` ## 展開矩陣 ```py # 加載庫 import numpy as np # 創建矩陣 matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) # 展開矩陣 matrix.flatten() # array([1, 2, 3, 4, 5, 6, 7, 8, 9]) ``` ## 尋找矩陣的秩 ```py # 加載庫 import numpy as np # 創建矩陣 matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) # 返回矩陣的秩 np.linalg.matrix_rank(matrix) # 2 ``` ## Find The Maximum And Minimum ```py # 加載庫 import numpy as np # 創建矩陣 matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) # 返回最大元素 np.max(matrix) # 9 # 返回最小元素 np.min(matrix) # 1 # 尋找每列的最大元素 np.max(matrix, axis=0) # array([7, 8, 9]) # 尋找每行的最大元素 np.max(matrix, axis=1) # array([3, 6, 9]) ``` ## 描述數組 ```py # 加載庫 import numpy as np # 創建矩陣 matrix = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]) # 查看行和列數 matrix.shape # (3, 4) # 查看元素數(行乘列) matrix.size # 12 # 查看維數 matrix.ndim # 2 ``` ## 創建向量 ```py # 加載庫 import numpy as np # 創建行向量 vector_row = np.array([1, 2, 3]) # 創建列向量 vector_column = np.array([[1], [2], [3]]) ``` ## 創建稀疏矩陣 ```py # Load libraries import numpy as np from scipy import sparse # 創建矩陣 matrix = np.array([[0, 0], [0, 1], [3, 0]]) # 創建壓縮稀疏行(CSR)矩陣 matrix_sparse = sparse.csr_matrix(matrix) ``` 注意:有許多類型的稀疏矩陣。 在上面的示例中,我們使用 CSR,但我們使用的類型應該反映我們的用例。 ## 創建矩陣 ```py # 加載庫 import numpy as np # 創建矩陣 matrix = np.array([[1, 4], [2, 5]]) ``` 注意 NumPy 的`mat`數據結構對于我們的目的而言不太靈活,應該避免。 ## 將字典轉換為矩陣 ```py # 加載庫 from sklearn.feature_extraction import DictVectorizer # 我們的數據字典 data_dict = [{'Red': 2, 'Blue': 4}, {'Red': 4, 'Blue': 3}, {'Red': 1, 'Yellow': 2}, {'Red': 2, 'Yellow': 2}] # 創建 DictVectorizer 對象 dictvectorizer = DictVectorizer(sparse=False) # 將字典轉換為特征矩陣 features = dictvectorizer.fit_transform(data_dict) # 查看特征矩陣 features ''' array([[ 4., 2., 0.], [ 3., 4., 0.], [ 0., 1., 2.], [ 0., 2., 2.]]) ''' # 查看特征矩陣的列名 dictvectorizer.get_feature_names() # ['Blue', 'Red', 'Yellow'] ``` ## 計算矩陣的跡 ```py # 加載庫 import numpy as np # 創建矩陣 matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) # 計算矩陣的跡 matrix.diagonal().sum() # 15 ``` ## 計算矩陣的行列式 ```py # 加載庫 import numpy as np # 創建矩陣 matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) # 返回矩陣的行列式 np.linalg.det(matrix) # -9.5161973539299405e-16 ``` ## 計算均值、方差和標準差 ```py # 加載庫 import numpy as np # 創建矩陣 matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) # 返回均值 np.mean(matrix) # 5.0 # 返回方差 np.var(matrix) # 6.666666666666667 # 返回標準差 np.std(matrix) # 2.5819888974716112 ``` ## 計算兩個向量的點積 ```py # 加載庫 import numpy as np # 創建兩個向量 vector_a = np.array([1,2,3]) vector_b = np.array([4,5,6]) # 計算點積 np.dot(vector_a, vector_b) # 32 # 計算點積 vector_a @ vector_b # 32 ``` ## 對元素應用操作 ```py # 加載庫 import numpy as np # 創建矩陣 matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) # 創建加上 100 的函數 add_100 = lambda i: i + 100 # 創建向量化函數 vectorized_add_100 = np.vectorize(add_100) # 對矩陣的所有元素應用函數 vectorized_add_100(matrix) ''' array([[101, 102, 103], [104, 105, 106], [107, 108, 109]]) ''' ``` ## 矩陣的加和減 ```py # 加載庫 import numpy as np # 創建矩陣 matrix_a = np.array([[1, 1, 1], [1, 1, 1], [1, 1, 2]]) # 創建矩陣 matrix_b = np.array([[1, 3, 1], [1, 3, 1], [1, 3, 8]]) # 將兩個矩陣相加 np.add(matrix_a, matrix_b) ''' array([[ 2, 4, 2], [ 2, 4, 2], [ 2, 4, 10]]) ''' # 將兩個矩陣相減 np.subtract(matrix_a, matrix_b) ''' array([[ 0, -2, 0], [ 0, -2, 0], [ 0, -2, -6]]) ''' ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看