python關於numpy基礎問題

時間 2021-09-11 22:25:36

1樓:龍氏風采

python發展至今,已經有越來越多的人使用python進行科學技術,numpy是python中的一款高效能科學計算和資料分析的基礎包。

ndarray

ndarray(以下簡稱陣列)是numpy的陣列物件,需要注意的是,它是同構的,也就是說其中的所有元素必須是相同的型別。其中每個陣列都有一個shape和dtype。

shape既是陣列的形狀,比如

複製**

1 import numpy as np

2 from numpy.random import randn

34 arr = randn(12).reshape(3, 4)

56 arr

78 [[ 0.98655235 1.20830283 -0.72135183 0.40292924]

9 [-0.05059849 -0.02714873 -0.62775486 0.83222997]

10 [-0.84826071 -0.29484606 -0.76984902 0.09025059]]

1112 arr.shape

13 (3, 4)

複製**

其中(3, 4)即代表arr是3行4列的陣列,其中dtype為float64

一下函式可以用來建立陣列

array  將輸入資料轉換為ndarray,型別可制定也可預設

asarray  將輸入轉換為ndarray

arange類似內建range

ones、ones_like  根據形狀建立一個全1的陣列、後者可以複製其他陣列的形狀

zeros、zeros_like類似上面,全0

empty、empty_like建立新陣列、只分配空間

eye、identity建立對角線為1的對角矩陣

陣列的轉置和軸對稱

轉置是多維陣列的基本運算之一。可以使用.t屬性或者transpose()來實現。.t就是進行軸對換而transpose則可以接收引數進行更豐富的變換

複製**

arr = np.arange(6).reshape((2,3))

print arr

[[0 1 2]

[3 4 5]]

print arr.t

[[0 3]

[1 4]

[2 5]]

arr = np.arange(24).reshape((2,3,4))

print arr

[[[ 0 1 2 3]

[ 4 5 6 7]

[ 8 9 10 11]]

[[12 13 14 15]

[16 17 18 19]

[20 21 22 23]]]

print arr.transpose((0,1,2))

[[[ 0 1 2 3]

[ 4 5 6 7]

[ 8 9 10 11]]

[[12 13 14 15]

[16 17 18 19]

[20 21 22 23]]]

複製**

陣列的運算

大小相等的陣列之間做任何算術運算都會將運算應用到元素級別。

複製**

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

2 print arr

34 [[0 1 2]

5 [3 4 5]

6 [6 7 8]]

78 print arr*arr

910 [[ 0 1 4]

11 [ 9 16 25]

12 [36 49 64]]

1314 print arr+arr

1516 [[ 0 2 4]

17 [ 6 8 10]

18 [12 14 16]]

1920 print arr*4

2122 [[ 0 4 8]

23 [12 16 20]

24 [24 28 32]]

複製**

numpy的簡單計算中,ufunc通用函式是對陣列中的資料執行元素級運算的函式。

如:複製**

arr = np.arange(6).reshape((2,3))

print arr

[[0 1 2]

[3 4 5]]

print np.square(arr)

[[ 0 1 4]

[ 9 16 25]]

複製**

類似的有:abs,fabs,sqrt,square,exp,log,sign,ceil,floor,rint,modf,isnan,isfinite,isinf,cos,cosh,sin,sinh,tan,tanh,

add,subtract,multiply,power,mod,equal,等等

2樓:匿名使用者

ndim的維度(陣列的維數(即陣列軸的個數),等於秩。最常見的為二維陣列(矩陣))不是通常矩陣中所說的維度(矩陣多少行多少列),這個矩陣可以被形容為多少行多少列,所以這種程度上來說是2維。當然如果矩陣只有一個數,那麼就是1了。

nidm的值就是shape函式返回元組的長度

python基礎問題

3樓:匿名使用者

他的意思很簡單,你先忽略掉第一句那個a=2他的意思是

a = a + 1

#換種表達方法就是

a += 1

#同理a = a * 2

#就是a *=2

關於python小白的問題,python小白的問題

土豪 只有float浮點數才可以用int轉換為整數,input得到的是string字串型別,不能直接轉換為int整型,需要先轉換為浮點型再轉換為整型,你的 應該這樣 加粗的是我新增的 我加的那句input是防止輸入正確之後直接退出 temp int float input 請輸入年份確定是否為閏年 ...

零基礎如何學習Python,零基礎可以學Python嗎

老男孩教育 零基礎情況下,想學一門語言。其實python非常適合初學者入門。相比較其他不少主流程式語言,有更好的可讀性,因此上手相對容易。那麼如何快速掌握python?設定目標 做 python 開發除了熟悉語言本身之外,還需要掌握很多相關聯的技能,好比打nba,你不光要學如何投籃,還要練習力量 技...

零基礎參加Python培訓需要學習多久

老男孩教育 零基礎參加python培訓的話,從入門到精通脫產班的學習週期是五個月左右的時間,畢業之後就可以直接找工作了,很不錯的,我之前就是一個普通的銷售工作,參加老男孩python培訓畢業的,現在工作也非常順心的,自己挺滿意的。 千鋒鄭州教育 python簡單易學 免費開源 高層語言 可移植性超強...