1. 程式人生 > >python numpy 如何獲取和更改陣列(array)的形狀、維數-shape&reshape

python numpy 如何獲取和更改陣列(array)的形狀、維數-shape&reshape

主要用到shape, reshape函式

我們先搞清np.ndarrayd陣列的特點

import numpy as np
ex = np.arange(0,12,1) 
ex
# 括號裡的0可以省略,也可以換成其他起始數,1是步長。執行上述程式碼,我們
# 發現ex只是一個序列並沒有維數(形狀)上的特徵 

>>> array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11])
# 接下來我們用reshape來更改陣列的形狀
ex1 = np.arange(12).reshape(1,12) # 1是行數,2是列數
ex2 = np.arange
(12).reshape((1,12)) # 形狀以陣列形式傳入 ex3 = np.arange(12).reshape(1,-1) # -1代表依據前面已經給定的行數來確定列數 ex1 >>> array([[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]]) # ex1,ex2,ex3 出來的陣列相同,如上所示,跟ex區別的地方在於多了一個 # 中括號,所以ex1有了形狀,像是1*12的矩陣。當然要真正變成矩陣還需要 # np.mat()函式 #

接下來我們將上面ex改成的一個3*4的陣列

ex4 = ex.reshape(3, 4) # or
ex4=ex.reshape(3,-1) ex4

array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]])

如果我們要獲取一個數組的形狀,用shape函式即可

ex4.shape

(3L, 4L)

輸出的是一個tuple,裡面的元素是格式為long的數字,個人認為跟int,float沒什麼區別,感興趣的可以去百度。

另一種更改陣列形狀的方法

ex.shape = 3,4 # or ex.shape=(3,4)

相關推薦

python numpy 如何獲取更改陣列array形狀-shape&reshape

主要用到shape, reshape函式 我們先搞清np.ndarrayd陣列的特點 import numpy as np ex = np.arange(0,12,1) ex # 括號裡的0可以省

pythonnumpy陣列array擴充複製方法repeattile的使用

但是很多情況下不需要使用,在進行矩陣加減運算的時候會自動複製 >>> a array([[1, 2],        [3, 4],        [5, 6]]) &g

JavaScript中陣列Array的排序方法reversesort

陣列中已經存在有兩個可以直接使用的排序方法: reverse()和 sort() 這兩個方法的返回值都是經過重排序之後的陣列 reverse ( ) reverse( ) 方法的作用很簡單,就是反轉陣列的順序。 var colors = new Array("red", "

js中陣列array物件object的區別

object 型別: 建立方式: /*new 操作符後面Object建構函式*/ var person = new Object(); person.name = "lpove"; pers

python陣列array排序

關於多維陣列如何複合排序 如陣列: >>> import numpy as np >>> data = np.array([[2,2,5],[2,1,3],[1,

關於本地快取localstorage與sessionStorage 陣列 array字串string 物件object的儲存技巧注意事項

localstorage與sessionStorage的使用方法都是一樣的 唯一的區別在與 localstorage是永久儲存在你的計算機上  sessionstorage只要瀏覽器關閉,儲存就消失 <!DOCTYPE html> <html> &l

python閉包裝飾器

lee type ade 機制 並且 change -1 pri neu 一、python閉包 1、內嵌函數 >>> def func1(): ... print (‘func1 running...‘) ... def func2(

python的namespace閉包closure

引用 能夠 繼續 local 沒有 都是 自由 不存在 logs 在討論閉包之前,先總結一下python的命名空間namespace,一般的語言都是通過namespace來識別名字標識,無論是變量,對象,函數等等。python劃分3個名字空間層次,local:局部,標識為當

C語言指標——對普通變數的指標操作陣列常量的指標操作

       我們知道,每一個變數都有一個記憶體位置,每一個記憶體位置都定義了可使用連字號(&)運算子訪問的地址,它表示了在記憶體中的一個地址。        我們喜歡在程式中使用指標代替陣列,因為變數指標可

C ++ 陣列 | 尋找最大最小值,陣列Array_1

目錄 尋找最大、最小值 陣列 尋找最大、最小值 對於這個程式設計測驗,我們將找到使用者將輸入的15個數字的最小值和最大值以及平均值。 #include <iostream> int main() { int userInput = 0; int

thinking in java (八) ----- 陣列Array

一般來說,程式會產生新的物件,有的時候只能到執行期,才能具體知道產生了多少物件,為了存放這些物件的存放(或者說是reference的存放),程式設計師必須提供物件的存放容器。 陣列(Array) 陣列是java用來存放以及隨機訪問一連串物件的各種做法中,最有效率的一種

Java的陣列ArrayVectorArrayListHashMap的異同

array(陣列)和Vector是十分相似的Java構件(constructs),兩者全然不同,在選擇使用時應根據各自的功能來確定。 1、陣列:Java arrays的元素個數不能下標越界,從很大程度上保證了Java程式的安全性,而其他一些語言出現這一問題時常導致災難性的後果

Python刷題:簡單陣列

21.Max Consecutive Ones     Given a binary array, find the maximum number of consecutive 1s in this array.     給定一個二進位制陣列,找出由該陣列中連續出現的數字

Pythonnumpy模組下函式介紹numpy.onesempty等

NumPy陣列的維數稱為秩(rank),一維陣列的秩為1,二維陣列的秩為2,以此類推。在NumPy中,每一個線性的陣列稱為是一個軸(axes),秩其實是描述軸的數量。比如說,二維陣列相當於是一個一維陣列,而這個一維陣列中每個元素又是一個一維陣列。所以這個一維陣列

PowerShell 陣列Array

當一個命令執行返回多個結果的時候,PowerShell 會自動將結果集轉換成陣列儲存,把每一行作為一個元素。以下本人測試了一些基本的陣列操作。 PowerShell 當前版本: 建立陣列:(建立陣列方式有很多種) #建立整型型別的陣列,包含4個元素 $id = 2,0

java資料結構之陣列Array

最近一直在學習資料結構,於是乎就想寫一篇部落格記錄下自己所學,順便把知識鞏固下,畢竟資料結構嘛,是一切程式設計的基礎,‘’雄關漫道真如鐵,而今邁步從頭越‘’。。。。。。一切的一切都要從頭開始,只有基礎好了,寫起程式來才能6666。 注:以下內容 ,有參考別人的部

Python刷題:簡單陣列

6. Plus One    Given a non-negative integer represented asa non-empty array of digits, plus one to the integer. You may assume theinteger

python如果獲取windows管理員許可權

我們在執行我們編寫好的python程式碼時,會碰到這樣的報錯問題 PermissionError: [WinError 5] 拒絕訪問。 這是因為我們編寫的指令碼的許可權不夠。一種解決辦法是在管理員cmd中執行我們的指令碼(右鍵以 run as admi

Python刷題:簡單陣列

11.Best Time to Buy and sellStockⅡ    Say you have an array for which the ithelement is the price of a given stock on day i.    Design an

python中線程進程

輕量級 輕量 調度 寄存器 readn 必須 RKE 線程終止 ogg 目錄 進程和線程 Python中的線程 1. Thread類 2. 線程的啟動