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簡單易學 免費開源 高層語言 可移植性超強...