黄视频网站在线免费观看-黄视频网站在线看-黄视频网站在线观看-黄视频网站免费看-黄视频网站免费观看-黄视频网站免费

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

手機站
千鋒教育

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

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

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

當前位置:首頁  >  技術干貨  > Python模塊:NumPy的高性能科學計算

Python模塊:NumPy的高性能科學計算

來源:千鋒教育
發布人:xqq
時間: 2023-07-21 16:43:54 1689929034

一、NumPy初識

NumPy是Python中最流行的科學計算庫之一。它提供多維數組對象和一系列用于處理數組的函數。NumPy的核心是ndarray(n-dimensional array)對象,它是一個大小固定、同一類型元素的多維數組。

在使用NumPy之前,需要先安裝它。使用pip命令可以很輕松地安裝它。在終端中輸入以下命令即可:


pip install numpy

成功安裝后,我們可以導入NumPy并查看其版本:


import numpy as np

print(np.__version__)

輸出的結果應該類似于“1.16.2”。

二、NumPy數組

NumPy中最重要的對象是ndarray。可以用以下代碼創建一個一維數組:


import numpy as np

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

輸出結果:[1 2 3 4 5]

也可以創建二維、三維甚至更高維度的數組。

從列表創建ndarray時,NumPy會嘗試自動推導出數組中元素的類型:


import numpy as np

arr1d = np.array([1, 2, 3, 4, 5])
arr2d = np.array([[1, 2, 3], [4, 5, 6]])
arr3d = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])

print(arr1d.dtype)
print(arr2d.dtype)
print(arr3d.dtype)

輸出結果:


int64
int64
int64

可以看出,NumPy會嘗試選擇最小的數據類型以儲存數組中的元素。在這個例子中,數組中的元素都是整數,所以NumPy選擇了int64類型。

數組中的元素可以使用下標進行訪問,如:


import numpy as np

arr1d = np.array([1, 2, 3, 4, 5])
arr2d = np.array([[1, 2, 3], [4, 5, 6]])
arr3d = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])

print(arr1d[0])
print(arr2d[0, 1])
print(arr3d[1, 0, 1])

輸出結果:


1
2
6

三、NumPy的高級用法

1、數組操作

數組拼接、分裂、重塑、轉置、展平等操作是NumPy中最常用的操作之一。在此僅介紹其中的一些,更多操作請參考NumPy文檔。

例如,可以使用以下代碼將兩個一維數組沿著列方向拼接:


import numpy as np

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

result = np.concatenate([arr1, arr2])

print(result)

輸出結果:[1 2 3 4 5 6]

還可以在二維數組上進行拼接操作,如下:


import numpy as np

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

result = np.concatenate([arr1, arr2], axis=0)

print(result)

輸出結果:


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

還可以使用vstack或hstack函數將數組沿著垂直或水平方向拼接。

重塑數組可以使用reshape函數。例如,可以將一個一維數組重塑為3x3的二維數組:


import numpy as np

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

result = arr.reshape((3, 3))

print(result)

輸出結果:


[[1 2 3]
 [4 5 6]
 [7 8 9]]

transpos函數可以將數組轉置,如下:


import numpy as np

arr = np.arange(9).reshape((3,3))

result = np.transpose(arr)

print(result)

輸出結果:


[[0 3 6]
 [1 4 7]
 [2 5 8]]

flatten函數可以將多維數組展平為一維數組,如下:


import numpy as np

arr = np.arange(9).reshape((3,3))

result = arr.flatten()

print(result)

輸出結果:


[0 1 2 3 4 5 6 7 8]

2、數組運算

NumPy提供了大量的數學函數和運算符,可以像操作標量一樣操作數組。

可以使用以下代碼實現數組的加減乘除:


import numpy as np

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

print(a + b)
print(a - b)
print(a * b)
print(a / b)

輸出結果:


[5 7 9]
[-3 -3 -3]
[ 4 10 18]
[0.25 0.4  0.5 ]

可以使用以下代碼實現數組的矩陣乘法:


import numpy as np

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

print(np.dot(a, b))

輸出結果:


[[19 22]
 [43 50]]

3、數組統計

NumPy可以進行各種統計運算,如平均值、標準差、最大值、最小值等。

可以使用以下代碼求數組的平均值、標準差、最大值、最小值:


import numpy as np

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

print(np.mean(arr))
print(np.std(arr))
print(np.max(arr))
print(np.min(arr))

輸出結果:


3.0
1.4142135623730951
5
1

除了一維數組之外,NumPy還可以對多維數組進行統計運算。例如,可以使用以下代碼計算二維數組中每一列的平均值:


import numpy as np

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

print(np.mean(arr, axis=0))

輸出結果:


[3. 4.]

4、廣播

廣播是指在對兩個數組進行元素操作時,當數組的形狀不同時,對小數組進行擴張以匹配大數組的形狀。廣播操作可以減少內存使用和運算次數。

以下代碼示例演示了廣播的基本原理:


import numpy as np

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

result = arr1 * arr2

print(result)

輸出結果:


[ 4 10 18]

可以看出,數組arr1和arr2的形狀不同,但是它們的元素相乘得到的結果仍然是一個長度為3的數組。

5、隨機數生成

NumPy還提供了大量的隨機數生成函數。隨機數生成函數可以用于模擬隨機數據、生成測試數據等。

以下代碼示例生成20個范圍在0-1之間的隨機數:


import numpy as np

result = np.random.rand(20)

print(result)

輸出結果:


[0.13966633 0.8146751  0.78852179 0.45093637 0.73117035 0.7654889
 0.83504567 0.61635283 0.2246247  0.43220779 0.95162422 0.77052108
 0.55811285 0.61789821 0.24398802 0.02599477 0.82493305 0.36772928
 0.19407716 0.1476306 ]

6、圖片處理

NumPy還可以用于圖像的處理。下面的這個例子把圖片中的每一個像素都進行了翻轉:


import numpy as np
from PIL import Image

im = Image.open("test.jpg")
im.show()

im_arr = np.array(im)
im_arr_flip = np.fliplr(im_arr)
im_flip = Image.fromarray(im_arr_flip)

im_flip.show()

輸出結果:


 #顯示原圖

 #顯示翻轉后的圖

7、數據存取

NumPy可以方便地將數組保存到文件中,并從文件中讀取數組數據。

以下代碼示例將數組保存到文件中,并從文件中讀取出來:


import numpy as np

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

np.save("arr.npy", arr)

arr_loaded = np.load("arr.npy")

print(arr_loaded)

輸出結果:


[1 2 3 4 5]

總結

這篇文章介紹了NumPy的基本用法,包括數組的創建、統計、數組運算、廣播、隨機數生成、圖片處理等。NumPy功能非常強大,有助于我們進行高效的科學計算。

tags: python教程
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
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
日韩欧美一二三区| 色综合久久手机在线| 国产麻豆精品视频| 日韩中文字幕一区二区不卡| 日韩在线观看视频免费| 国产不卡精品一区二区三区| 成人免费观看视频| 成人免费观看网欧美片| 一级女性全黄久久生活片| 成人免费观看网欧美片| 国产激情一区二区三区| 日韩专区在线播放| 999久久66久6只有精品| 日本免费乱理伦片在线观看2018| 日韩av东京社区男人的天堂| 日韩av片免费播放| 成人影视在线播放| 青青青草影院| 二级特黄绝大片免费视频大片| 国产视频网站在线观看| 精品国产一区二区三区精东影业 | 国产精品自拍亚洲| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 成人影视在线观看| 国产综合成人观看在线| 午夜久久网| 国产高清在线精品一区a| 国产a毛片| 青青青草影院| a级黄色毛片免费播放视频| 四虎影视库| 亚洲精品久久久中文字| 欧美国产日韩一区二区三区| 日本在线不卡免费视频一区| 免费国产一级特黄aa大片在线| 一级女人毛片人一女人| 韩国妈妈的朋友在线播放| 国产91视频网| 久久国产精品永久免费网站| a级毛片免费观看网站| 韩国三级视频网站| 免费国产在线观看不卡| 日本特黄特黄aaaaa大片| 日韩在线观看视频免费| 91麻豆精品国产自产在线| 午夜精品国产自在现线拍| 国产一区二区精品| 亚洲精品久久玖玖玖玖| 国产精品123| 久久99中文字幕| 毛片高清| 国产伦精品一区三区视频| 午夜久久网| 四虎久久影院| 可以免费看毛片的网站| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 日韩专区一区| 日韩中文字幕一区| 美女免费毛片| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 欧美电影免费| 黄色福利片| 黄视频网站在线免费观看| 亚洲第一色在线| 青青青草影院| 欧美日本二区| 黄视频网站在线看| 日韩中文字幕一区二区不卡| 午夜在线影院| 美女免费精品视频在线观看| 亚洲天堂免费观看| 欧美一级视| 欧美一级视频免费观看| 欧美大片a一级毛片视频| 国产视频一区二区在线观看| 欧美大片aaaa一级毛片| 成人高清视频免费观看| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 一本伊大人香蕉高清在线观看| 欧美激情一区二区三区在线 | 久久福利影视| 日韩在线观看免费| 亚洲 国产精品 日韩| 久久成人综合网| 国产欧美精品| 国产网站免费观看| 国产成人啪精品| 国产综合91天堂亚洲国产| 国产一区国产二区国产三区| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 国产不卡在线播放| 精品久久久久久影院免费| 黄视频网站免费看| 久久成人综合网| 91麻豆精品国产自产在线| 欧美a免费| 国产精品免费久久| 高清一级毛片一本到免费观看| 日韩欧美一及在线播放| 黄视频网站免费| 天天色色色| 尤物视频网站在线| 免费国产在线观看不卡| 久久精品免视看国产成人2021| 日韩中文字幕在线播放| 天天做日日爱| 一级毛片看真人在线视频| 色综合久久天天综线观看| 91麻豆精品国产高清在线| 九九精品在线| 中文字幕97| 黄视频网站在线免费观看| 天天做日日爱| 天天做日日干| 香蕉视频三级| 黄色免费网站在线| 亚洲天堂免费| 久久精品店| 国产91精品系列在线观看| 亚欧成人乱码一区二区| 日韩在线观看视频黄| 国产不卡在线看| 国产a视频| 日日日夜夜操| 成人a级高清视频在线观看| 一级片片| 亚欧视频在线| 国产精品免费久久| 亚洲天堂一区二区三区四区| 青青久久精品| 美女免费精品高清毛片在线视| 成人高清视频免费观看| 精品国产一区二区三区久久久蜜臀| 你懂的在线观看视频| 欧美a级片视频| a级毛片免费观看网站| 免费一级生活片| 日韩在线观看免费完整版视频| 九九精品在线播放| 青草国产在线| 999久久狠狠免费精品| 美女免费毛片| 黄视频网站在线免费观看| 免费的黄色小视频| 国产不卡福利| 国产精品自拍在线观看| 九九久久国产精品| 久草免费在线色站| 免费国产在线视频| 九九干| 欧美国产日韩久久久| 久久成人亚洲| 欧美日本免费| 久久久成人影院| 欧美1卡一卡二卡三新区| 国产激情一区二区三区| 99久久精品国产麻豆| 国产原创中文字幕| 九九久久国产精品| 亚洲第一页乱| 天天色成人| 一本高清在线| 亚洲精品影院| 尤物视频网站在线观看| 麻豆污视频| 国产综合91天堂亚洲国产| 欧美a级大片| 日韩一级黄色| 日韩字幕在线| 国产a视频| 成人免费观看的视频黄页| 精品视频一区二区三区免费| 精品国产一区二区三区久 | 欧美18性精品| 日韩在线观看免费完整版视频| 成人影院久久久久久影院| 免费国产在线观看| 韩国三级香港三级日本三级la| 韩国毛片 免费| 欧美爱色| 亚洲 欧美 91| 国产一区二区福利久久| 国产视频一区二区三区四区| 国产一区二区精品| 国产网站免费| 九九久久国产精品| 精品在线视频播放| 国产网站麻豆精品视频| 日本免费乱理伦片在线观看2018| 美国一区二区三区| 欧美一级视| 日本特黄特色aa大片免费| 亚洲第一页乱| 国产精品自拍在线| 韩国毛片 免费| 日韩在线观看免费| 国产麻豆精品视频| 成人高清护士在线播放| 青青久久网| 国产国语在线播放视频|