Numpy中的repeat函數使用
Numpy中repeat函數使用
Numpy是Python強大的數學計算庫,和Scipy一起構建起Python科學計算生態。在本節下面我們重點介紹下repeat函數的用法,我們在Python中import numpy,help(numpy.repeat),會出現以下界面:
repeat是屬於ndarray對象的方法,使用它可以通過兩個管道:
(1)numpy.repeat(a,repeats,axis=None); (2)object(ndarray).repeat(repeats,axis=None):理解瞭第一種方法就可以輕松知道第二種方法瞭。
參數的意義:axis=None,時候就會flatten當前矩陣,實際上就是變成瞭一個行向量
axis=0,沿著y軸復制,實際上增加瞭行數
axis=1,沿著x軸復制,實際上增加列數
repeats可以為一個數,也可以為一個矩陣,具體區別我們從以下實例中就會發現
以下各個實例都是使用瞭矩陣c:
實例1:
axis=0情況下可以看出講數據安裝在磁盤存儲格式(先行後列)逐個元素復制repeats次,形成一個行向量
實例2:
實例3:
實例4:
這時候它的意思是復制第一行元素repeats[0]次依次類推.假如repeat矩陣length(repeats)!=length(c[:,:1])將會報錯!!
repeat的一個實例:
運行結果:
python中repeat函數用法
repeat()函數用法:
np.repeat(3, 4) array([3, 3, 3, 3]) x = np.array([[1,2],[3,4]]) np.repeat(x, 2) array([1, 1, 2, 2, 3, 3, 4, 4]) np.repeat(x, 3, axis=1) #沿著縱軸方向重復,增加列數 array([[1, 1, 1, 2, 2, 2], [3, 3, 3, 4, 4, 4]]) np.repeat(x, [1, 2], axis=0) #沿著橫軸方向重復,增加行數,分別為一次和兩次 array([[1, 2], [3, 4], [3, 4]])
repeat函數
np.repeat用於將numpy數組重復
一維數組重復三次
import numpy as np # 隨機生成[0,5)之間的數,形狀為(1,4),將此數組重復3次 pop = np.random.randint(0, 5, size=(1, 4)).repeat(3, axis=0) print("pop\n",pop) # pop # [[0 0 3 1] # [0 0 3 1] # [0 0 3 1]]
二維數組在第一維和第二維分別重復三次
pop_reshape=pop.reshape(2,6) pop_reshape_repeataxis0=pop_reshape.repeat(3,axis=0) pop_reshape_repeataxis1=pop_reshape.repeat(3,axis=1) print("pop_reshape\n",pop_reshape) print("pop_reshape_repeataxis0\n",pop_reshape_repeataxis0) print("pop_reshape_repeataxis1\n",pop_reshape_repeataxis1) # pop_reshape # [[0 0 3 1 0 0] # [3 1 0 0 3 1]] # pop_reshape_repeataxis0 # [[0 0 3 1 0 0] # [0 0 3 1 0 0] # [0 0 3 1 0 0] # [3 1 0 0 3 1] # [3 1 0 0 3 1] # [3 1 0 0 3 1]] # pop_reshape_repeataxis1 # [[0 0 0 0 0 0 3 3 3 1 1 1 0 0 0 0 0 0] # [3 3 3 1 1 1 0 0 0 0 0 0 3 3 3 1 1 1]]
到此這篇關於Numpy中的repeat函數使用的文章就介紹到這瞭,更多相關Numpy repeat函數內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- python數據分析Numpy庫的常用操作
- Python Numpy中ndarray的常見操作
- python ndarray數組對象特點及實例分享
- Python機器學習三大件之一numpy
- Python數組變形的幾種實現方法