手把手教你用Python的NumPy包處理數(shù)據(jù)

導(dǎo)讀:本文讓你快速了解一下如何開始使用NumPy。一旦你熟悉了NumPy,就會(huì)發(fā)現(xiàn)Python世界中的大多數(shù)科學(xué)計(jì)算都是圍繞NumPy構(gòu)建的。因此花在NumPy上的學(xué)習(xí)時(shí)間最終對(duì)你是有益的。

import?numpy
numpy.__version__
輸出結(jié)果:
1.15.4
import?numpy?as?np
np.__version__
輸出結(jié)果:
1.15.4
a?=?5
type(a)
輸出結(jié)果:
int
int_list?=?list(range(10))
int_list
[0,?1,?2,?3,?4,?5,?6,?7,?8,?9]
str_list?=?[str(i)?for?i?in?int_list]
str_list
['0',?'1',?'2',?'3',?'4',?'5',?'6',?'7',?'8',?'9']
int_list?*?2
[0,?1,?2,?3,?4,?5,?6,?7,?8,?9,?0,?1,?2,?3,?4,?5,?6,?7,?8,?9]
import?numpy?as?np
int_arr?=?np.array(int_list)
int_arr
array([0,?1,?2,?3,?4,?5,?6,?7,?8,?9])
int_arr?*?2
array([?0??2??4??6??8?10?12?14?16?18])
ndim:維數(shù)。 shape:每一維的大小。 size:數(shù)組中元素的總數(shù)。 dtype:數(shù)組的數(shù)據(jù)類型(例如int、float、string等)。
print("int_arr?ndim:?",?int_arr.ndim)
print("int_arr?shape:?",?int_arr.shape)
print("int_arr?size:?",?int_arr.size)
print("int_arr?dtype:?",?int_arr.dtype)
int_arr?ndim:??1
int_arr?shape:??(10,)
int_arr?size:??10
int_arr?dtype:??int64
int_arr
array([0,?1,?2,?3,?4,?5,?6,?7,?8,?9])
int_arr[0]
0int_arr[3]
3int_arr[-1]
9int_arr[-2]
8int_arr[2:5]?#from?index?2?up?to?index?5?-?1
array([2,?3,?4])
int_arr[:5]?#from?the?beginning?up?to?index?5?-?1
array([0,?1,?2,?3,?4])
int_arr[5:]?#from?index?5?up?to?the?end?of?the?array
array([5,?6,?7,?8,?9])
int_arr[::2]?#every?other?element
array([0,?2,?4,?6,?8])
int_arr[::-1]?#the?entire?array?in?reverse?order
array([9,?8,?7,?6,?5,?4,?3,?2,?1,?0])
arr_2d?=?np.zeros((3,?5))
arr_2d
array([[0.,?0.,?0.,?0.,?0.],
???????[0.,?0.,?0.,?0.,?0.],
???????[0.,?0.,?0.,?0.,?0.]])
arr_float_3d?=?np.ones((3,?2,?4))
arr_float_3d
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.]]])
arr_float_3d[0,?:,?:]
array([[1.,?1.,?1.,?1.],
???????[1.,?1.,?1.,?1.]])
arr_uint_3d?=?np.ones((3,?2,?4),?dtype=np.uint8)?*?255
arr_uint_3d
array([[[255,?255,?255,?255],
????????[255,?255,?255,?255]],
???????[[255,?255,?255,?255],
????????[255,?255,?255,?255]],
???????[[255,?255,?255,?255],
????????[255,?255,?255,?255]]],?dtype=uint8)關(guān)于作者:阿迪蒂亞·夏爾馬(Aditya Sharma),羅伯特·博世(Robert Bosch)公司的一名高級(jí)工程師,致力于解決真實(shí)世界的自動(dòng)計(jì)算機(jī)視覺問題。曾獲得羅伯特·博世公司2019年人工智能編程馬拉松的首名。
維什韋什·拉維·什里馬利(Vishwesh Ravi Shrimali),于2018年畢業(yè)于彼拉尼博拉理工學(xué)院(BITS Pilani)機(jī)械工程專業(yè)。此后一直在BigVision LLC從事深度學(xué)習(xí)和計(jì)算機(jī)視覺方面的工作,還參與了官方OpenCV課程的創(chuàng)建。
邁克爾·貝耶勒(Michael Beyeler),是華盛頓大學(xué)神經(jīng)工程和數(shù)據(jù)科學(xué)的博士后研究員,致力于仿生視覺的計(jì)算模型研究,以為盲人植入人工視網(wǎng)膜(仿生眼睛),改善盲人的感知體驗(yàn)。他的工作屬于神經(jīng)科學(xué)、計(jì)算機(jī)工程、計(jì)算機(jī)視覺和機(jī)器學(xué)習(xí)的交叉領(lǐng)域。
本文摘編自《機(jī)器學(xué)習(xí):使用OpenCV、Python和scikit-learn進(jìn)行智能圖像處理(原書第2版)》,經(jīng)出版方授權(quán)發(fā)布。
延伸閱讀《機(jī)器學(xué)習(xí)》(原書第2版)
點(diǎn)擊上圖了解及購買
轉(zhuǎn)載請(qǐng)聯(lián)系微信:DoctorData
推薦語:一本基于OpenCV4和Python的機(jī)器學(xué)習(xí)實(shí)戰(zhàn)手冊,既詳細(xì)介紹機(jī)器學(xué)習(xí)及OpenCV相關(guān)的基礎(chǔ)知識(shí),又通過具體實(shí)例展示如何使用OpenCV和Python實(shí)現(xiàn)各種機(jī)器學(xué)習(xí)算法,并提供大量示例代碼,可以幫助你掌握機(jī)器學(xué)習(xí)實(shí)用技巧,解決各種不同的機(jī)器學(xué)習(xí)和圖像處理問題。


