中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Python數(shù)據(jù)分析庫-Numpy庫在數(shù)據(jù)分析中的知識點(二)

各位客官姥爺好,歡迎回來。上節(jié)我們了解numpy中數(shù)組的創(chuàng)建方法,這節(jié)我們來看看數(shù)組都有哪些常用的屬性,以及數(shù)組的淺拷貝與深拷貝的用法。

01

 數(shù)組的屬性

0.聲明一個numpy的數(shù)組

np.random.seed(0)x = np.random.randint(1,10,(2,3))x

array([[6, 1, 4],

       [4, 8, 4]])

1.數(shù)組的類型

x.dtype

dtype('int32')

2.數(shù)組的維數(shù)

x.ndim

2

3.數(shù)組的維度

x.shape

(2, 3)

4.數(shù)組的元素個數(shù)

x.size

6

5.數(shù)組每個元素所占字節(jié)數(shù)

x.itemsize

4

6.數(shù)組所有元素總字節(jié)數(shù)(等于x.size * x.itemsize)

x.nbytes

24

7.數(shù)組在內存中布局的信息

x.flags

  C_CONTIGUOUS : True

  F_CONTIGUOUS : False

  OWNDATA : True

  WRITEABLE : True

  ALIGNED : True

  WRITEBACKIFCOPY : False

  UPDATEIFCOPY : False

8.數(shù)組實部

x.real

array([[6, 1, 4],

       [4, 8, 4]])

9.數(shù)組的虛部

x.imag

array([[0, 0, 0],

       [0, 0, 0]])

10.數(shù)組的轉置屬性

x.T

array([[6, 4],

       [1, 8],

       [4, 4]])

11.數(shù)組的一維迭代器

y = x.flatfor i in y: print(i)

6

1

4

4

8

4

當然也可通過這個迭代器去更改數(shù)組的元素

#比如全部改為9x.flat = 9x

array([[9, 9, 9],       

        [9, 9, 9]])

02

 數(shù)組的轉化

1. 數(shù)組與列表的互轉

#列表轉為數(shù)組x = [i for i in range(5)]arr = np.array(x)print(arr,type(arr))#數(shù)組轉為列表y = arr.tolist()print(y, type(y))

[0 1 2 3 4] <class 'numpy.ndarray'>

[0, 1, 2, 3, 4] <class 'list'>

2. 數(shù)組與元組的互轉

沒有直接轉化的函數(shù),這里使用python自帶的類型轉換函數(shù)

#元組轉化為數(shù)組x= (i for i in range(5))arr = np.array(list(x))print(arr,type(arr))#數(shù)組轉化為元組y = tuple(arr.tolist())print(y, type(y))

[0 1 2 3 4] <class 'numpy.ndarray'>

(0, 1, 2, 3, 4) <class 'tuple'>

3. 數(shù)組類型的強制轉化

#強制轉化為float32,在轉換類型時建議帶上np.xx類型,避免有錯誤提示。x= (i for i in range(5))arr = np.array(list(x))print(arr,type(arr))arr.astype(np.float32)

[0 1 2 3 4] <class 'numpy.ndarray'>

array([0., 1., 2., 3., 4.], dtype=float32)

03

 數(shù)組的淺拷貝與深拷貝

淺拷貝和深拷貝針對的是可變類型,而數(shù)組屬于可變類型,故可使用。下面就來看看淺拷貝和深拷貝在numpy數(shù)組中的區(qū)別。

1. 淺拷貝

淺拷貝,是指新的對象和源對象指向同一個內存空間。注意這里的關鍵詞:新對象和源對象,這兩個是不同的對象。而我們通常在數(shù)組中用的賦值,只是給源對象起個別名,對象還是那個對象。

x = np.arange(5)y = xprint(x is y)

True

在numpy中view視圖的用法相當于淺拷貝。

arr = np.arange(5)drr = arr.view()print(arr is drr)drr[0] =5print(drr,arr)

False 

[5 1 2 3 4] [5 1 2 3 4]

更改新建視圖的元素后,原始數(shù)組也發(fā)生變化。

2. 深拷貝

通過上面的淺拷貝可以看出,這樣很容易出現(xiàn)數(shù)據(jù)安全問題,對此出現(xiàn)了深拷貝,一個完全獨立于源對象的副本。可直接使用數(shù)組的copy()方法實現(xiàn)

arr = np.arange(5)frr = arr.copy()print(arr is frr)frr[0] = 10print(frr,arr)

False 

[10  1  2  3  4] [0 1 2 3 4]

當然,也可使用我們上節(jié)學過的用法:

1)array的copy參數(shù)

arr = np.arange(5)err = np.array(arr,copy=True)print(arr is err)err[0] = 15print(err,arr)

False 

[15  1  2  3  4] [0 1 2 3 4]

2)array的subok參數(shù)

arr = np.arange(5)crr = np.array(arr,subok=True)print(arr is crr)crr[0] = 20print(crr,arr)

False 

[20  1  2  3  4] [0 1 2 3 4]

以上就是本次的分享,歡迎各位客官姥爺關注我,方便您第一次時間收到【干貨】!

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
類型化 memoryview
numpy
Python基礎數(shù)據(jù)處理庫
Python數(shù)據(jù)分析之路 | 入門起航篇
Python | Numpy 圖文詳解(向量、切片索引、廣播)
Python numpy的基本操作你一般人都不會
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服