Python之Numpy陣列拼接,組合,連線
轉自:https://www.douban.com/note/518335786/?type=like
============改變陣列的維度==================
已知reshape函式可以有一維陣列形成多維陣列
ravel函式可以展平陣列
b.ravel()
flatten()函式也可以實現同樣的功能
區別:ravel只提供檢視view,而flatten分配記憶體儲存
重塑:
用元祖設定維度
>>> b.shape=(4,2,3)
>>> b
array([[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8],
[ 9, 10, 11],
[12, 13, 14],
[15, 16, 17],
[18, 19, 20],
[21, 22, 23]])
轉置:
>>> b
array([0, 1],
[2, 3])
>>> b.transpose()
array([0, 2],
[1, 3])
=============陣列的組合==============
>>> a
array([0, 1, 2],
[3, 4, 5],
[6, 7, 8])
>>> b = a*2
>>> b
array([ 0, 2, 4],
[ 6, 8, 10],
[12, 14, 16])
1.水平組合
>>> np.hstack((a,b))
array([ 0, 1, 2, 0, 2, 4],
[ 3, 4, 5, 6, 8, 10],
[ 6, 7, 8, 12, 14, 16])
>>> np.concatenate((a,b),axis=1)
array([ 0, 1, 2, 0, 2, 4],
[ 3, 4, 5, 6, 8, 10],
[ 6, 7, 8, 12, 14, 16])
2.垂直組合
>>> np.vstack((a,b))
array([ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8],
[ 0, 2, 4],
[ 6, 8, 10],
[12, 14, 16])
>>> np.concatenate((a,b),axis=0)
array([ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8],
[ 0, 2, 4],
[ 6, 8, 10],
[12, 14, 16])
3.深度組合:沿著縱軸方向組合
>>> np.dstack((a,b))
array([[ 0, 0],
[ 1, 2],
[ 2, 4],
[ 3, 6],
[ 4, 8],
[ 5, 10],
[ 6, 12],
[ 7, 14],
[ 8, 16]])
4.列組合column_stack()
一維陣列:按列方向組合
二維陣列:同hstack一樣
5.行組合row_stack()
以為陣列:按行方向組合
二維陣列:和vstack一樣
6.==用來比較兩個陣列
>>> a==b
array([ True, False, False],
[False, False, False],
[False, False, False], dtype=bool)
#True那個因為都是0啊
==================陣列的分割===============
>>> a
array([0, 1, 2],
[3, 4, 5],
[6, 7, 8])
>>> b = a*2
>>> b
array([ 0, 2, 4],
[ 6, 8, 10],
[12, 14, 16])
1.水平分割(難道不是垂直分割???)
>>> np.hsplit(a,3)
[array([0],
[3],
[6]),
array([1],
[4],
[7]),
array([2],
[5],
[8])]
split(a,3,axis=1)同理達到目的
2.垂直分割
>>> np.vsplit(a,3)
[array([0, 1, 2]), array([3, 4, 5]), array([6, 7, 8])]
split(a,3,axis=0)同理達到目的
3.深度分割
某三維陣列:::
>>> d = np.arange(27).reshape(3,3,3)
>>> d
array([[ 0, 1, 2],
[ 3, 4, 5],
[ 6, 7, 8],
[ 9, 10, 11],
[12, 13, 14],
[15, 16, 17],
[18, 19, 20],
[21, 22, 23],
[24, 25, 26]])
深度分割後(即按照深度的方向分割)
注意:dsplite只對3維以上陣列起作用
raise ValueError('dsplit only works on arrays of 3 or more dimensions')
ValueError: dsplit only works on arrays of 3 or more dimensions
>>> np.dsplit(d,3)
[array([[ 0],
[ 3],
[ 6],
[ 9],
[12],
[15],
[18],
[21],
[24]]), array([[ 1],
[ 4],
[ 7],
[10],
[13],
[16],
[19],
[22],
[25]]), array([[ 2],
[ 5],
[ 8],
[11],
[14],
[17],
[20],
[23],
[26]])]
===================陣列的屬性=================
>>> a.shape #陣列維度
(3, 3)
>>> a.dtype #元素型別
dtype('int32')
>>> a.size #陣列元素個數
9
>>> a.itemsize #元素佔用位元組數
4
>>> a.nbytes #整個陣列佔用儲存空間=itemsize*size
36
>>> a.T #轉置=transpose
array([0, 3, 6],
[1, 4, 7],
[2, 5, 8])
相關推薦
Python之Numpy陣列拼接,組合,連線
轉自:https://www.douban.com/note/518335786/?type=like ============改變陣列的維度==================已知reshape函式可以有一維陣列形成多維陣列ravel函式可以展平陣列b.ravel()flatten()函式也可以實現同樣的功
PYthon 從numpy陣列去除重複元素,行或列
data = np.array([[1,8,3,3,4], [1,8,9,9,4], [1,8,3,3,4]]) #刪除整個陣列的重複元素 uniques = np.unique(data) print( un
python之路——函數叠代,生成器
什麽 上一個 dir 指針 tor sin import lec collect ---恢復內容開始--- 叠代器 生成器 叠代器: 1, 什麽是叠代器協議 ① dir(被測對象) 如果它含有 __iter__,那這個對象叫做可叠代對象,遵循可叠代協議。 ② 可叠代對
Python之高等數學(導數,微分)
在知乎上看到關於導數和微分的區別:https://www.zhihu.com/question/22199657 導數(Derivative),也叫導函式值。又名微商,是微積分中的重要基礎概念。當函式y=f(x)的自變數x在一點x0上產生一個增量Δx時,函式輸出值的增量Δy與自變數增量Δx的比值
Python之線性代數(矩陣運算,逆矩陣,伴隨矩陣)
np.eye(10)*10 # 10階方陣,當對角線值為1時為對角矩陣 np.eye(5) array([[1., 0., 0., 0., 0.], [0., 1., 0., 0., 0.], [0., 0., 1
python之numpy.power()陣列元素求n次方
numpy.power(x1, x2) 陣列的元素分別求n次方。x2可以是數字,也可以是陣列,但是x1和x2的列數要相同。 >>> x1 = range(6) >>> x1 [0, 1, 2, 3, 4, 5] >>&g
python之sys.stdout、sys.stdin,stdout.write等
sys.stdin,sys.stdout,sys.stderr: stdin , stdout , 以及stderr 變數包含與標準I/O 流對應的流物件. 如果需要更好地控制輸出,而print 不能滿足你的要求, 它們就是你所需要的. 你也可以替換它們, 這時候你就可以重定
python之路day03--資料型別分析,轉換,索引切片,str常用操作方法
資料型別整體分析 int :用於計算bool:True False 使用者判斷str:少量資料的儲存list:列表 儲存大量資料 上億資料[1,2,3,'zzy',[aa]]元組:只讀列表(1,23,'asdadas')dist:字典 鍵值對的形式儲存,關係型{'name':'小王八','age':16}
python之Django框架篇-路由系統,檢視,模板,ORM複習
1. Urls.py 路由系統: 正則 分組匹配 --> 位置引數 分組命名匹配 --> 關鍵字引數 分級路由 include 給路由起別名 name="xx" 反向解析url view
Android頂部導航之TabLayout和ViewPager的組合,setupWithViewPager有點坑
TabLayout是Android Design Support Library的元件,可以很方便的寫出頂部導航欄比以前那個什麼TabHost好用多了,因為是Design Support Library下的控制元件,所以使用它要引入相關依賴 impleme
從 Python 之父的對話聊起,關於智慧財產權、知識共享與文章翻譯
一、緣起 前不久,我在翻譯 Guido van Rossum(Python之父)的文章時,給他留言,申請非商業用途的翻譯授權。 過程中起了點小誤會,略去不表,最終的結果是:他的文章以CC BY-NC-SA 4.0 許可協議進行授權。部分對話如下: CC 協議是一種授權許可協議,我曾看到過幾次,但瞭解不
Python資料分析之numpy陣列全解析
1 什麼是numpy numpy是一個在Python中做科學計算的基礎庫,重在數值計算,也是大部分Python科學計算庫的基礎庫,多用於大型、多維資料上執行數值計算。 在NumPy 中,最重要的物件是稱為 ndarray 的N維陣列型別,它是描述相同型別的元素集合,numpy所有功能幾乎都以ndarray
Python 之NumPy
python numpy NumPy的主要對象是同質的多維數組。它是一個有明確索引的相同類型的元素組成的表。在NumPy中維度稱之為軸,軸數稱之為列。舉個例子:例一:[ 1, 2, 1 ]這是一個一維數組,因為它只有一個軸,這個軸的長度是3.列二:[[ 1., 0., 0.],[ 0., 1., 2.
BeautifulSoup 使用select方法詳解(通過標簽名,類名, id,組合,屬性查找)
chrome red 例如 ttl app user encode and 定位 import requestsfrom bs4 import BeautifulSoupblslib="html5lib"user_agent="Mozilla/5.0 (Macintosh;
Python之NumPy(axis=0 與axis=1)區分
tail ner def ros som 分享 然而 article 本質 轉自:http://blog.csdn.net/wangying19911991/article/details/73928172 https://www.zhihu.com/
python中將Numpy陣列儲存為影象
第一種方案原文 可以使用scipy.misc,程式碼如下: import scipy.misc misc.imsave('out.jpg', image_array) 上面的scipy版本會標準化所有影象,以便min(資料)變成黑色,max(資料)變成白色。如果資料應該是精確的灰度級或準
UML類關係(依賴,關聯,聚合,組合,泛化,實現)
轉自 https://blog.csdn.net/k346k346/article/details/59582926 在學習面向物件設計時,類關係涉及依賴、關聯、聚合、組合和泛化這五種關係,耦合度依次遞增。關於耦合度,可以簡單地理解為當一個類發生變更時,對其他類造成的影響程
UML類關系(依賴,關聯,聚合,組合,泛化,實現)
對比 區別 ++ brush 面向對象設計 ali 單向關聯 箭頭 有關 轉自https://blog.csdn.net/k346k346/article/details/59582926 在學習面向對象設計時,類關系涉及依賴、關聯、聚合、組合和泛化這五種關系,耦合度依
類的關係(泛化, 實現,關聯,聚合,組合,依賴)
類的關係 在UML類圖中,常見的有以下幾種關係: 泛化(Generalization), 實現(Realization),關聯(Association),聚合(Aggregation),組合(Composition),依賴(Dependency) 1. 泛化(Generalizati