亚洲 国产精品 日韩-亚洲 激情-亚洲 欧美 91-亚洲 欧美 成人日韩-青青青草视频在线观看-青青青草影院

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > Numpy中常用的方法和屬性匯總

Numpy中常用的方法和屬性匯總

來源:千鋒教育
發布人:qyf
時間: 2022-08-12 16:57:26 1660294646

  本篇文章我們繼續帶大家學習Numpy的數據操作部分,主要給大家系統的介紹一下Numpy中常用的方法和屬性。

  雖然我們前面也用過一些方法,但是我們沒有系統的給大家介紹,本次我們分成兩部分,詳細的給大家介紹一下Numpy中的一些方法和使用。

  Numpy的常用方法

  Ndarray對象的常用方法

  Numpy的常用方法

  生成函數

  生成ndarray對象的函數,注意所有np即為numpy的簡寫。

  np.arange(n): 生成指定范圍的一個數據序列,返回的是ndarray對象。其實np.arange()的使用很類似內置函數range(),只不過range()函數生成的數據類似一個列表,而np.arange()生成的是ndarray對象。

  np.array(list):將一個列表轉成ndarray對象。

  import numpy as np #導入numpy模塊,起別名為np

  import warnings

  warnings.filterwarnings("ignore") # 忽略警告信息

  data = np.arange(10)

  display(data)

  data1= list(range(10))

  display(type(data1))

  data1=np.array(data1)

  display(data1)

  # 當然使用np.array()還可以創建二維的數組

  array = [[1,2],[3,4],[5,6],[7,8],[9,10]]

  array = np.array(array)

  display(array)

  # 如果是一維數組:向量

  # 如果是二維數組,那么就看做是一個矩陣

  結果:

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

  list

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

  array([[ 1, 2],

  [ 3, 4],

  [ 5, 6],

  [ 7, 8],

  [ 9, 10]])

  使用np.ones()、np.zeros()、np.full() 生成ndarray對象

  np.ones(N) : 生成一個N長度的一維全1的ndarray對象

  np.zeros(N): 生成一個N長度的一維全0的ndarray對象

  np.full(N) : 生成一個N長度的一維值全為指定值的ndarray對象

  import numpy as np

  array1 = np.ones((3,4)) # 創建值全為1的數組。

  display(array1)

  array2 = np.zeros((3,4)) # 創建值全為0的數組。

  display(array2)

  array3 = np.full((3,4),6) # 創建值全為指定值的數組。

  display(array3)

  結果:

  array([[1., 1., 1., 1.],

  [1., 1., 1., 1.],

  [1., 1., 1., 1.]])

  array([[0., 0., 0., 0.],

  [0., 0., 0., 0.],

  [0., 0., 0., 0.]])

  array([[6, 6, 6, 6],

  [6, 6, 6, 6],

  [6, 6, 6, 6]])

  大家可以發現ones和zeros得到的數組是浮點型的。那如何設置它的數據類型呢?

  A. 在聲明的時候可以使用,比如array1 = np.ones((3,4),dtype=np.int)

  B. 使用ndarray對象.astype(數據類型)進行類型轉換

  Numpy的數據類型有哪些呢?

  當然若想得到一些隨機數組成的數組,我們還可以使用numpy.random中的方法完成

  np.random.rand 生成指定形狀的0­~1之間的隨機數

  np.random.random 生成指定形狀的0­~1之間的隨機數

  np.random.randn 標準正態分布

  np.random.normal 指定均值和方法的正態分布

  np.random.randint 生成指定數值范圍內的隨機整數

  np.random.seed 按照種子來生成隨機數,種子一樣,則生成的結果必一致

  np.random.shuffle 打亂數組元素順序

  np.random.uniform 均勻分布

  np.random.choice 按照指定概率從指定集合中,生成隨機數

  選出幾個給大家介紹一下

  np.random.rand 與np.random.random兩者類似,都是產生0­~1之間的隨機數,但是函數的參數不一樣。

  import numpy as np

  d1 = np.random.random((2,3)) #注意區別多(少)了一對()

  d2 = np.random.rand(2,3)

  display(d1,d2)

  np.random.randn() 服從正態分布的從0­~1之間的隨機數

  dn = np.random.randn(2,3)

  display(dn)

  np.random.normal() 指定均值和方差的正態分布

  # loc:float 此概率分布的均值(對應著整個分布的中心centre)

  # scale:float 此概率分布的標準差(對應于分布的寬度,scale越大越矮胖,scale越小,越瘦高)

  # size:int or tuple of ints 輸出的shape,默認為None,只輸出一個值

  dn= np.random.normal(loc=4, scale=0.01, size=4)

  dn1= np.random.normal(loc=4, scale=0.01, size=(2,4))

  display(dn,dn1)

  np.random.randint() 隨機整數

  # 在1-10范圍里,隨機生成5個int32類型的數值,生成的結果集可能出現重復數值 arr1 = np.random.randint(1, high=10, size=5, dtype=np.int32) display(arr1) # 生成一個指定范圍[-10,0]的隨機二維數組 arr2 = np.random.randint(-10, high=10, size=(4, 6), dtype=np.int32) display(arr2)

  np.random.choice() 從指定數據集中,隨機抽選一個數據

  # 從數值集合中,按照指定概率生成隨機數,參數P的總和一定得是1

  arr = np.random.choice([0,3,5,7,8,9], p=[0.1, 0.2, 0.3, 0.4,0.2,0.5]) display(arr)

  數學函數與運算操作

  數學相關

  Numpy提供了許多數學操作相關函數,常用的函數有:

  abs / fabs :絕對值

  ceil / floor :向上/向下取整

  log / log2 / log10 :對數

  exp :e為底的指數

  modf :將浮點數num分解成整數部分和小數部分。

  sin / sinh / cos / cosh :正玄、余玄...

  sqrt :開平方

  import numpy as np

  arr = np.array([[-1,1.2,0.8,-3.9],[-6,1,-1.8,0.9]])

  display(arr)

  #絕對值

  a = np.abs(arr)

  display(a)

  #向上/向下取整

  b = np.ceil(arr)

  b1 = np.floor(arr)

  display(b,b1)

  # 對數函數

  c = np.log(arr)

  display(c)

  # e為底數的指數函數

  d = np.exp(arr)

  display(d)

  # 浮點數拆分成 整數 和 浮點數 兩部分

  # 返回一個元組,含有兩個元素(數組類型),第一個元素返回小數部分,第二個元素返回整數部分。

  e = np.modf(arr)

  display(e)

  #開平方

  f = np.sqrt(arr)

  display(f)

  運算相關的有:

  數組與數(一維數組與一維數組)的運算(加+、減­、乘*、除/、取整//、取模%、平方 * * 、立方 * * * ):

  加:“+” 或者np.add(a, b)

  減:“­-” 或者np.subtract(a, b)

  乘:“*” 或者np.multiply(a, b)

  除:“/” 或者np.divide(a, b)

  次方:“ ** ” ,如2^7=2**7

  取整函數:“ // ”或者 np.ceil(), np.floor(), np.trunc()/fix(), np.rint(), np.around()

  取模:“%”或者np.mod()和np.remainder()

  矩陣乘積:np.dot(a, b)

  判斷: > 、 >= 、< 、 <= 、 == 、 !=

  條件:all() 、any()

  邏輯條件: & 、 | 、 !

  上篇文章我們提到過運算相關的符號,當然每個符號還有對應的方法。在Numpy中的運算基本都是遵守廣播機制的。現在我們在看一下關系運算符:

  import numpy as np

  arr1 = np.array([1,2,3,4,5])

  arr2 = np.array([0,2,-5,-4,8])

  display(arr1>arr2,arr1<arr2,arr1!=arr2,arr1==arr2)< p="">

  結果如下:

  array([ True, False, True, True, False]) array([False, False, False, False, True]) array([ True, False, True, True, True]) array([False, True, False, False, False])

  其中all()和any()返回的也是bool類型的結果,any()表示只要有一個True 就返回 True,all()表示所有為True 就返回 True

  display(np.all(arr1),np.any(arr2))

  邏輯運算符的使用:

  np.all(arr1<0) & np.all(arr2>0)

  數組的鏈接(拼接、組合)和拆分

  np.concatenate 對多個數組按指定軸的方向進行連接。

  np.stack / np.vstack / np.hstack / np.dstack / np.tile 組合

  np.split / np.hsplit / np.vsplit / np.dsplit 拆分

  本文章不做具體講解,可以參看上篇文章

  排序與去重

  np.unique( arr,return_index,return_inverse,return_counts,axis) : 返回ndarray中的元素,排除重復元素之后,并進行排序

  np.sort( ndarray) : 作為函數使用時,不更改被排序的原始arrays,返回副本

  arr = np.array([[1,2,3,4,5,5,6,6,6,8],[2,2,3,4,5,5,6,6,7,9]])

  arr = np.unique(arr)

  display(arr)

  arr1 = np.array([1,5,6,6,6,2,3,4,5])

  arr1 = np.sort(arr1)

  display(arr1)

  結果:

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

  array([1, 2, 3, 4, 5, 5, 6, 6, 6])

  改變形狀與數組扁平化

  我們可以通過數組對象的reshape方法(或者np的reshape函數)來改變數組的形狀。

  arr1 = np.arange(30).reshape(3, 10)

  arr2 = np.arange(30).reshape(5, -1)

  # 也可以使用

  a = np.arange(10)

  b = np.reshape(a, (2,5))

  display(b)

  我們可以通過調用ravel或flatten方法,對數組對象進行扁平化處理。

  np.ravel / ravel

  flatten

  shape, reshape, resize, ravel

  二者的區別在于,ravel返回原數組的視圖,而flatten返回原數組的拷貝。

  x = np.arange(16).reshape(4, 4)

  display(x.ravel())

  display(np.ravel(x))

  display(x.flatten())

  結果:

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

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

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

  統計函數

  Numpy(或數組對象)具有如下常用的統計函數。

  mean / sum / prod(乘積)

  max / min / amax / amin

  argmax / argmin

  std / var

  cumsum / cumprod

  all / any

  median / percentile

  import numpy as np

  a = np.random.randint(1,20,size=(4,5)) # 隨機生成4行5列的數組

  print(np.mean(a)) # 平均值

  print(np.max(a)) # 最大值

  print(np.min(a)) # 最小值

  print(np.sum(a)) # 求和

  print(np.prod(a)) # 求積

  print(np.std(a)) # 求標準差

  print(np.var(a)) # 求方差

  print(np.median(a)) # 求中位數

  print(np.argmax(a)) # 最大值索引

 

  print(np.argmin(a)) # 最小值索引

  當然也可以指定axis進行計算,比如按照軸進行計算,比如axis=0即列軸計算

  print(np.mean(a,axis=0)) # 平均值

  print(np.max(a,axis=0)) # 最大值

  print(np.min(a,axis=0)) # 最小值

 

  print(np.sum(a,axis=0)) # 求和

  Ndarray對象屬性與索引使用

  Ndarray對象的屬性

  ndim ­ 維度數

  shape ­ 維度/形狀

  dtype ­ 元數數據類型

  size ­ 元素個數

  itemsize ­ 返回數組元素占用空間的大小。以字節為單位

  nbytes ­ 總字節數 = size * itemsize

  T ­ 數組對象的轉置視圖

  flat ­ 扁平迭代器

  arr = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])

  print(arr.ndim) #維度數

  print(arr.shape) #維度形狀

  print(arr.dtype) #元數數據類型

  print(arr.size) #元素個數

  print(arr.itemsize) # 返回數組元素占用空間的大小。以字節為單位

 

  print(arr.nbytes) #返回占用空間的總長度

  Ndarray對象的切片和索引

1

  當然Numpy的方法有很多也是可以轉成ndarray中的方法使用,比如統計函數

  import numpy as np

  a = np.random.randint(1,20,size=(4,5)) # 隨機生成4行5列的數組

  print(np.mean(a)) # 平均值

  print(a.mean()) # 通過ndarray對象調用mean方法

  print(np.max(a)) # 最大值

 

  print(a.max()) # 通過ndarray對象調用max方法

  import numpy as np

  a = np.random.randint(1,20,size=(4,5)) # 隨機生成4行5列的數組

  print(np.mean(a)) # 平均值

  print(np.max(a)) # 最大值

  print(np.min(a)) # 最小值

  print(np.sum(a)) # 求和

  print(np.prod(a)) # 求積

  print(np.std(a)) # 求標準差

  print(np.var(a)) # 求方差

  print(np.median(a)) # 求中位數

  print(np.argmax(a)) # 最大值索引

  print(np.argmin(a)) # 最小值索引

  更多關于“Python培訓”的問題,歡迎咨詢千鋒教育在線名師。千鋒教育多年辦學,課程大綱緊跟企業需求,更科學更嚴謹,每年培養泛IT人才近2萬人。不論你是零基礎還是想提升,都可以找到適合的班型,千鋒教育隨時歡迎你來試聽。

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
肉欲扒灰合集100篇| 人妻少妇乱子伦无码专区 | 大胆顶级欧美艺术图片| 国产成人精品久久久久| 精品3D动画肉动漫在线无码| 美女高潮无遮挡喷水视频| 日本久久久久亚洲中字幕| 小拗女一区二区三区| 樱桃CHERRY官网| 吃奶呻吟打开双腿做受视频| 韩国免费A级毛片| 男女裸体下面进入的免费视频| 日韩人妻一区二区三区免费| 亚洲大色堂人在线无码| 91无码人妻精品一区二区蜜桃 | 131美女爱做视频国产福利| 丰满性熟妇ⅩXXOOOZZX| 久久99精品国产99久久6尤物| 欧美成人一区二区三区不卡| 无码人妻ΑⅤ免费一区二区三区| 夜里18款禁用软件APP| 成人无码H在线观看网站| 娇小12-13╳YⅩ╳毛片高清| 欧美性BBBBBXXXXX4050免费看| 无码AV最新高清无码专区| 在厨房拨开内裤进入毛片| 国产SM调教视频在线观看| 久久精品国产亚洲精品| 日韩欧美中文字幕看片你懂的| 亚洲国产精品无码中文字APP| JAPANESEHD国产在线看| 国内精品自线一区二区三区2| 欧美最猛黑人XXXXWWW| 亚洲AV不卡无码国产| 99久久精品午夜一区二区| 国精产品自偷自偷综合下载| 欧美虐SM另类残忍视频| 亚洲AV永久无码精品一区| 巴西大屁股妓女BBW| 精品9E精品视频在线观看| 日本人XXXX1819HD| 一本久道综合色婷婷五月| 国产成人艳妇AA视频在线| 妺妺窝人体色www在线下载人| 新X8X8拨牐拨牐永久免费AP| FREEXXX欧美老妇| 精品无码AV一区二区三区不卡 | 亚洲AV永久无码精品三区在线 | 777琪琪午夜理论电影网| 国产亚洲精品A在线观看| 人人妻人人澡人人爽欧美精品| 亚洲乱色熟女一区二区三区蜜臀| 大炕上的肉体交换农村乱睡| 麻豆果冻视频传媒APP下载| 亚洲AⅤ无码天堂在线观看| А天堂中文在线官网在线| 久久精品国产精油按摩| 无码人妻AⅤ一区二区| Chinese老女人老熟妇HD| 久久大香香蕉国产拍国| 无码专区 人妻系列 在线| 把人妻日出白浆人妻视频| 久久人人爽人人爽人人片AV高清 | 色偷一区国产精品| 最新亚洲人成网站在线观看| 精品国产综合区久久久久久| 婷婷97狠狠色综合| YY1111111少妇无码影院| 久久亚洲精品无码GV| 亚洲AV无码精品黑人黑人| 国产AⅤ无码旗袍丝袜美腿| 欧美顶级METART裸体全部自慰| 亚洲日本一线产区二线区| 国产精品青青在线观看爽香蕉| 日本19禁啪啪吃奶大尺度| 综合亚洲另类欧美久久成人精品| 教室抽插调教老师小说| 无码国产成人午夜电影在线观看| 边摸边吃奶又黄又激烈视频| 男女车车的车车网站W98免费| 亚洲人妻免费视频| 国产亚洲精品精华液好用吗| 他揉捏她两乳不停呻吟人妻| 扒开女人P添大荫蒂| 免费日韩无人区码卡二卡3卡| 亚洲色成人一区二区三区| 狠狠色丁香久久综合| 午夜成人无码福利免费视频| 高清熟女国产一区二区三区| 人妻丰满熟妇无码区免费| 24小时日本免费观看WWW| 久久婷婷五月综合色区| 亚洲乱码中文字幕久久孕妇黑人| 国精无码欧精品亚洲一区| 无码中文AV有码中文AV| 国产成A人亚洲精V品无码性色 | 亚洲精品永久在线观看| 国产亚洲欧洲AⅤ综合一区| 五十熟妇日本熟妇久久| 国产成人精品久久| 少妇特殊按摩高潮惨叫无码| 粗大抽搐白浊H高干H| 日本强伦姧人妻久久影片| 白丝JK高潮喷水在线观看| 欧美最猛性XXXXX大叫| AV天堂午夜精品一区| 欧美极品性饥渴少妇大战黑人| 1000部拍拍拍18勿入免费视| 美女裸身裸乳免费视频的APP | 国产精品AV无码毛片久久| 手机看片AV永久免费| 国产 熟女 高潮 www| 熟妇熟女乱妇乱女网站| 国产AV一区二区三区天堂综合网| 上边一面亲下边一面膜的功效| 成熟闷骚女邻居引诱2| 入禽太深视频免费视频| 岛国精品一区免费视频在线 | 嫩草在线视频WWW免费看| 18禁自慰网址进入| 欧美成人精品三级又大又粗| FREEEⅩXX性欧美HD浪妇| 欧美孕妇XXXXBBBB| 白嫩少妇BBW撒尿视频| 日本五月天婷久久网站| 俄罗斯SEVERODVINSK| 天堂久久久久VA久久久久| 国产精品成人AV电影不卡| 香港经典A毛片免费观看变态| 国产熟女一区二区三区五月婷| 亚洲AV无码一区二区三区天堂古 | 精品欧美黑人久久久久| 亚洲欧美一区二区成人片| 久久香蕉国产线看观看怡红院妓院| 游泳教练在水里含我奶小说| 男吃乳尖玩奶头高潮视频| JIZZJIZZ日本护士| 日日AV拍夜夜添久久免费| 国产成人综合久久久久久| 亚洲AV成人片无码网站网8X| 精品亚洲AⅤ无码午夜在线| 伊人久久大香线蕉AV不变影院 | 尿眼BDSM奇特虐| 办公室跪下拉开拉链吃应用的优点| 色老头BGMBGMBGM| 国产精品亚洲专区无码WEB| 亚洲成AV人片在线观看WW| 久久久综合九色综合鬼色| 7777成年免费视频| 日韩精品无码AV中文无码版| 国产精品午睡沙发系列| 亚洲人成网站在线在线观看| 蜜桃AV一区二区| 成在人线AV无码免费看| 午夜.DJ高清在线观看免费8 | 人妻系列AV无码专区| 国产成人无码AⅤ片在线观看你 | 一本大道香蕉久中文在线播放| 女人张开腿让男人添| 丰满少妇熟女高潮流白浆| 亚洲AV永久无码成人私密按摩| 狂野欧美激情性XXXX| 被滋润的娇妻疯狂呻吟| 亚州中文字幕无码中文字幕| 久久人人爽人人爽人人片AV超碰| 99精产国品一二三产区区| 视频一区二区三区在线| 精品国产国偷自产在线观看| 中文字幕一区二区三区乱码人妻| 日韩一区二区三区无码免费视频| 国产亚洲日韩欧美另类丝瓜APP| 幼儿稀缺区超清幼儿做的网站| 人妻激情偷乱频一区二区三区| 国产精品久久国产精品99| 亚洲中字无码AV电影在线观看| 欧美一级 片内射黑人i| 国产精品美女一区二区视频| 一本大道AV伊人久久综合| 日韩A∨精品日韩在线观看| 黑料不打烊隐藏入口GITHUB| 69精产国品一二三产区区别| 天堂资源在线官网BT| 久久青青草原精品国产APP| 成人久久免费网站| 亚洲欧美黑人深喉猛交群| 人妻精品久久无码区| 韩国精品福利一区二区三区| 97精品人妻系列无码人妻| 玩弄丰满少妇XXXXX| 乱辈通奷ⅩXXXXHD| 国产粉嫩嫩00在线正在播放| 野兽的夜晚第四季忘不掉的前任 | 无码人妻精一区二区三区| 鲁鲁网亚洲站内射污| 国产成人精品亚洲一区| 中文字幕丰满伦子无码| 午夜A级毛片免费观看| 欧美精品99久久久啪啪| 护士HD老师FREE性ⅩⅩⅩ| 成人动漫在线观看|