中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么使用NumPy進行數組數據處理

發布時間:2023-05-11 17:40:24 來源:億速云 閱讀:278 作者:iii 欄目:開發技術

本篇內容主要講解“怎么使用NumPy進行數組數據處理”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么使用NumPy進行數組數據處理”吧!

介紹

NumPy是Python中用于數值計算的核心包之一,它提供了大量的高效數組操作函數和數學函數。它支持多維數組和矩陣運算,并且可以集成C/C++和Fortran的代碼,因此可以非常高效地處理大量數據。以下是NumPy的一些主要功能和用途:

1.多維數組:NumPy的核心是ndarray(N維數組)對象,可以用來存儲同類型的元素。這些數組可以是一維、二維或更高維度。它們提供了方便的數組索引和切片,以及許多基本操作和計算(如加、減、乘、除、取冪等)。

2.數組操作:NumPy提供了大量的數組操作函數,包括數學函數(如三角函數、指數函數、對數函數等)、邏輯函數(如布爾運算、比較運算、邏輯運算等)、排序函數、統計函數等。

3.矩陣操作:NumPy提供了矩陣操作函數,如矩陣加、減、乘、轉置、求逆等,可以方便地進行線性代數計算。

4.隨機數生成:NumPy可以生成各種隨機數,如正態分布、均勻分布、泊松分布、貝努利分布等,以及隨機排列和隨機選擇等。

5.文件IO:NumPy可以讀寫各種文件格式,包括文本文件、二進制文件和matlab文件等,以便于數據的存儲和傳輸。

6.與其他Python庫的整合:NumPy可以方便地與其他Python庫(如Pandas、SciPy、matplotlib等)整合使用,以進行數據分析、科學計算和可視化等。

import numpy as np

Ndarray

1.ndarray的操作

將列表數據生成array()

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

確認數據類型

print(a.dtype)  # int32

如果將浮點數代入整數型數組里,數據自動變為整數型(小數點以下自動舍掉)

a[1] = -3.6
print(a)  # [1 -3 3 4 5]

變換數據類型

a2 = a.astype(np.float32)
print(a2, a2.dtype)  # [1. -3. 3. 4. 5.] float32

二維數組

b = np.array([[1, 2, 3],
              [3.2, 5.3, 6.6]])
print('b=', b)  # b= [[1.  2.  3. ][3.2 5.3 6.6]]
print('b[1,2]=', b[1,2])  # b[1,2] = 6.6

2.ndarray的參數

  • ndarry.ndim         數組的維數

  • ndarry.shape       數組的行列數

  • ndarry.size          元素的個數

  • ndarry.dtype        數據的類別

print('ndim =', a.ndim, b.ndim)
print('shape =', a.shape, b.shape)
print('size =', a.size, b.size)
print('dtype =', a.dtype, b.dtype)
 
# ndim = 1 2
# shape = (5,) (2, 3)
# size = 5 6
# dtype = float32 float64

reshape進行數組重組(元素數不變)

print(b.reshape(6)) # 轉為1維數組 [ 1.   2.  -1.1  3.2  5.3  6.6]
print(b.reshape(3,2)) # 轉為3行2列數組 [[ 1.   2. ][-1.1  3.2][ 5.3  6.6]]
print(b.T) # 矩陣的轉置 [[ 1.   3.2][ 2.   5.3][-1.1  6.6]]

矩陣的計算

矩陣與數值的四則運算時,各個值都進行運算

print(b+2)  #[[3.  4.  0.9][5.2 7.3 8.6]]
print(b-2)  #[[-1.   0.  -3.1][ 1.2  3.3  4.6]]
print(b*2)  #[[ 2.   4.  -2.2][ 6.4 10.6 13.2]]
print(b/2)  #[[ 0.5   1.   -0.55][ 1.6   2.65  3.3 ]]
print(b**3) #3次冪 [[  1.      8.     -1.331][ 32.768 148.877 287.496]]
print(b//1) #用這種方法舍掉小數 [[ 1.  2. -2.][ 3.  5.  6.]]

同維度矩陣計算時,相同位置的值進行運算(矩陣維度不同時報錯)

c = b/2
print(b+c)  # [[ 1.5   3.   -1.65][ 4.8   7.95  9.9 ]]
print(b-c)  # [[ 0.5   1.   -0.55][ 1.6   2.65  3.3 ]]
print(b*c)  # [[ 0.5    2.     0.605][ 5.12  14.045 21.78 ]]
print(b/c)  # [[2. 2. 2.][2. 2. 2.]]

行列の積は「@」

a行b列×b行c列=a行c列の行列

A = np.arange(6).reshape(3,2)
B = np.arange(8).reshape(2,4)
print(A)  #[[0 1][2 3][4 5]]
print(B)  #[[0 1 2 3][4 5 6 7]]
print(A@B)  #[[ 4  5  6  7][12 17 22 27][20 29 38 47]]

矩陣的生成

1維矩陣的生成(初始值,終止值,條件)

  • arange 條件為指定步長,總數自動決定,不包括終止值

  • linspace 條件為總數,步長自動決定,包括終止值

np.arange(0,10,0.1)
# array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. , 1.1, 1.2,
#      1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2. , 2.1, 2.2, 2.3, 2.4, 2.5,
#      2.6, 2.7, 2.8, 2.9, 3. , 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8,
#      3.9, 4. , 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9, 5. , 5.1,
#      5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8, 5.9, 6. , 6.1, 6.2, 6.3, 6.4,
#      6.5, 6.6, 6.7, 6.8, 6.9, 7. , 7.1, 7.2, 7.3, 7.4, 7.5, 7.6, 7.7,
#      7.8, 7.9, 8. , 8.1, 8.2, 8.3, 8.4, 8.5, 8.6, 8.7, 8.8, 8.9, 9. ,
#      9.1, 9.2, 9.3, 9.4, 9.5, 9.6, 9.7, 9.8, 9.9])
 
np.linspace(0,10,100)
# array([ 0. ,  0.1,  0.2,  0.3,  0.4,  0.5,  0.6,  0.7,  0.8,  0.9,  1. ,
#       1.1,  1.2,  1.3,  1.4,  1.5,  1.6,  1.7,  1.8,  1.9,  2. ,  2.1,
#       2.2,  2.3,  2.4,  2.5,  2.6,  2.7,  2.8,  2.9,  3. ,  3.1,  3.2,
#       3.3,  3.4,  3.5,  3.6,  3.7,  3.8,  3.9,  4. ,  4.1,  4.2,  4.3,
#       4.4,  4.5,  4.6,  4.7,  4.8,  4.9,  5. ,  5.1,  5.2,  5.3,  5.4,
#       5.5,  5.6,  5.7,  5.8,  5.9,  6. ,  6.1,  6.2,  6.3,  6.4,  6.5,
#       6.6,  6.7,  6.8,  6.9,  7. ,  7.1,  7.2,  7.3,  7.4,  7.5,  7.6,
#       7.7,  7.8,  7.9,  8. ,  8.1,  8.2,  8.3,  8.4,  8.5,  8.6,  8.7,
#       8.8,  8.9,  9. ,  9.1,  9.2,  9.3,  9.4,  9.5,  9.6,  9.7,  9.8,
#       9.9, 10. ])

多維矩陣

np.zeros((3,2)) 
 
#array([[0., 0.],
#      [0., 0.],
#      [0., 0.]])
 
np.ones((5,2,3), dtype=np.int16)
 
# array([[[1, 1, 1],
#         [1, 1, 1]],
#
#        [[1, 1, 1],
#         [1, 1, 1]],
#
#        [[1, 1, 1],
#         [1, 1, 1]],
#
#        [[1, 1, 1],
#         [1, 1, 1]],
#
#        [[1, 1, 1],
#         [1, 1, 1]]], dtype=int16)
 
print(np.ones((5,2,2))*128)
 
[[[128. 128.]
#   [128. 128.]]
# 
#  [[128. 128.]
#   [128. 128.]]
# 
#  [[128. 128.]
#   [128. 128.]]
# 
#  [[128. 128.]
#   [128. 128.]]
# 
#  [[128. 128.]
#   [128. 128.]]]

3.例子

生成隨機二維數組

rnd = np.random.random((5,5))
print(rnd)
 
# [[0.61467866 0.38383428 0.4604147  0.41355961 0.22680966]
#  [0.83895625 0.49135984 0.21811832 0.91433166 0.18616649]
#  [0.80176894 0.23622139 0.87041535 0.59623534 0.93986178]
#  [0.48324671 0.62398314 0.82435621 0.92421743 0.84660406]
#  [0.63578052 0.99794079 0.46970418 0.85743179 0.11774799]]

生成圖像

plt.imshow(rnd, cmap='gray')
plt.colorbar()  #0為黑色,1為白色

怎么使用NumPy進行數組數據處理

plt.imshow(rnd>0.5, cmap='gray')
plt.colorbar()

怎么使用NumPy進行數組數據處理

color_img = np.array([
    [[255,0,0],
     [0,255,0],
     [0,0,255]],
    [[255,255,0],
     [0,255,255],
     [255,0,255]],
    [[255,255,255],
     [128,128,128],
     [0,0,0]],
])
plt.imshow(color_img)

怎么使用NumPy進行數組數據處理

到此,相信大家對“怎么使用NumPy進行數組數據處理”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

周至县| 三河市| 凤阳县| 盐津县| 隆德县| 新疆| 平遥县| 图木舒克市| 长寿区| 葫芦岛市| 镇赉县| 松江区| 利川市| 太湖县| 兰西县| 古蔺县| 灯塔市| 禹城市| 鄂托克旗| 乌恰县| 乌拉特中旗| 紫金县| 万宁市| 曲靖市| 中方县| 股票| 麦盖提县| 九龙县| 奉节县| 博乐市| 贡觉县| 营山县| 朝阳县| 靖州| 登封市| 嘉兴市| 瓮安县| 佳木斯市| 台北县| 万安县| 固安县|