python中numpy模塊教程

轉(zhuǎn)自:python中numpy模塊教程 - 一張A4紙

numpy元素的屬性

numpy的所有值都有以下幾個(gè)屬性

A = np.arange(12).reshape(3, 4).astype(np.float32)

print(A.ndim)
print(A.shape)
print(A.size)
print(A.dtype)
print(A.itemsize)

# 輸出結(jié)果為
# 2
# (3, 4)
# 12
# float32
# 4

A.ndim
數(shù)組軸的個(gè)數(shù),在python的世界中,軸的個(gè)數(shù)被稱作秩

A.shape
數(shù)組的維度驻龟。

A.size
數(shù)組元素的總個(gè)數(shù)辜窑。

A.dtype
元素的數(shù)據(jù)類型左胞。

A.itemsize
數(shù)組中每個(gè)元素的字節(jié)大小。

生成數(shù)列

指定值的增量

data = np.arange(10, 30, 5)
print(data)  # [10 15 20 25]

指定值的個(gè)數(shù)

data = np.linspace(1, 10, 5)
print(data) # [  1.     3.25   5.5    7.75  10.  ]

生成矩陣

data = np.array([[2, 3, 4], [4, 5, 6]], dtype=np.float32)
print(data)
# [[ 2.  3.  4.]
#  [ 4.  5.  6.]]

生成全是0的矩陣

data = np.zeros((3, 4))
print(data)
# [[ 0.  0.  0.  0.]
#  [ 0.  0.  0.  0.]
#  [ 0.  0.  0.  0.]]

生成全是1的矩陣

data = np.ones((3, 4))
print(data)
# [[ 1.  1.  1.  1.]
#  [ 1.  1.  1.  1.]
#  [ 1.  1.  1.  1.]]

生成隨機(jī)數(shù)據(jù)

隨機(jī)生成0~1之間的數(shù)

data = np.random.random()
print(data) #0.01447623686510957

隨機(jī)生成指定范圍內(nèi)的浮點(diǎn)數(shù)

data = np.random.uniform(10,20)
print(data)
# 14.646829941471552

隨機(jī)整數(shù)

data = np.random.randint(10,20)
print(data)
# 17

隨機(jī)生成一個(gè)矩陣

data = np.random.random((3,4))
print(data)
# [[ 0.77829489  0.63959774  0.83723733  0.95292845]
#  [ 0.78949057  0.38655045  0.79205805  0.06847395]
#  [ 0.5284635   0.95181041  0.39267602  0.23638718]]

多維矩陣

data = np.random.random((2,3,4))
print(data)
# [[[ 0.36605927  0.47719931  0.16654015  0.17585629]
#   [ 0.66085507  0.09883734  0.22603851  0.91388161]
#   [ 0.33416014  0.82187631  0.91063299  0.25781208]]
# 
#  [[ 0.56585862  0.09606677  0.84916434  0.26007262]
#   [ 0.16145394  0.61120144  0.75447741  0.40179179]
#   [ 0.55887648  0.45416114  0.17644248  0.43142769]]]

合并

A = np.array([1, 1, 1])
B = np.array([2, 2, 2])
#縱向合并
print(np.vstack((A, B)))
#橫向合并
print(np.hstack((A, B)))
# [[1 1 1]
#  [2 2 2]]
#
# [1 1 1 2 2 2]

增加維度

添加一個(gè)橫向的維度

A = np.array([1, 1, 1])
B = A[np.newaxis, :]
print(A.shape)
print(B.shape)
print(B)
# (3,)
# (1, 3)
# [[1 1 1]]

添加一個(gè)縱向的維度

A = np.array([1, 1, 1])
B = A[:,np.newaxis]
print(A.shape)
print(B.shape)
print(B)
# (3,)
# (3, 1)
# [[1]
#  [1]
#  [1]]

分割

A = np.arange(12).reshape(3, 4)
print(A)
#橫向分割
print(np.vsplit(A, 3))
#縱向分割
print(np.hsplit(A, 2))
#可以在參數(shù)中指定分割哪個(gè)坐標(biāo)
print(np.split(A, 3, axis=0))
print(np.split(A, 2, axis=1))
#不等量分割
print(np.array_split(A, 3, axis=1))

深層拷貝

在numpy中直接用"="號(hào)賦值,相當(dāng)于賦予的是指針,賦值前后的"兩個(gè)"變量是同"一個(gè)"變量.比如,下面的變量a,b,改變a,b也會(huì)跟著變化.

a = np.array([1, 2, 3])
b = a
a[0] = 666
print(a)
print(b)
#[666   2   3]
#[666   2   3]

如果想要兩個(gè)變量不關(guān)聯(lián),需要這樣拷貝

b = a.copy()

運(yùn)算

numpy中矩陣的加法減法的運(yùn)算和普通的加減運(yùn)算相同,但是矩陣乘法的運(yùn)算需要用dot函數(shù),如下

A = np.array([[2, 3],
              [4, 7]])
B = np.array([[1, 2],
              [3, 4]])
print(A + B)
print(A - B)
print(np.dot(A, B))

# [[ 3  5]
#  [ 7 11]]
#
# [[1 1]
#  [1 3]]
#
# [[11 16]
#  [25 36]]

索引與切片

numpy中的索引與切片功能比python中的切片更加強(qiáng)大

索引多維數(shù)組

data = np.random.random((3,4,5))
print(data[0,2,3])
TIM截圖20171127115021.png

索引多維數(shù)組的時(shí)候也可以用切片

data = np.random.random((3,4,5))
print(data[1,:,3])
print(data[:2,:,3])
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子旁瘫,更是在濱河造成了極大的恐慌,老刑警劉巖琼蚯,帶你破解...
    沈念sama閱讀 206,013評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件酬凳,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡遭庶,警方通過(guò)查閱死者的電腦和手機(jī)宁仔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,205評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)罚拟,“玉大人台诗,你說(shuō)我怎么就攤上這事〈退祝” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,370評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵弊知,是天一觀的道長(zhǎng)阻逮。 經(jīng)常有香客問(wèn)我,道長(zhǎng)秩彤,這世上最難降的妖魔是什么叔扼? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,168評(píng)論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮漫雷,結(jié)果婚禮上瓜富,老公的妹妹穿的比我還像新娘。我一直安慰自己降盹,他們只是感情好与柑,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,153評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著蓄坏,像睡著了一般价捧。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上涡戳,一...
    開(kāi)封第一講書(shū)人閱讀 48,954評(píng)論 1 283
  • 那天结蟋,我揣著相機(jī)與錄音,去河邊找鬼渔彰。 笑死嵌屎,一個(gè)胖子當(dāng)著我的面吹牛推正,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播宝惰,決...
    沈念sama閱讀 38,271評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼植榕,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了掌测?” 一聲冷哼從身側(cè)響起内贮,我...
    開(kāi)封第一講書(shū)人閱讀 36,916評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎汞斧,沒(méi)想到半個(gè)月后夜郁,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,382評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡粘勒,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,877評(píng)論 2 323
  • 正文 我和宋清朗相戀三年竞端,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片庙睡。...
    茶點(diǎn)故事閱讀 37,989評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡事富,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出乘陪,到底是詐尸還是另有隱情统台,我是刑警寧澤,帶...
    沈念sama閱讀 33,624評(píng)論 4 322
  • 正文 年R本政府宣布啡邑,位于F島的核電站贱勃,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏谤逼。R本人自食惡果不足惜贵扰,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,209評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望流部。 院中可真熱鬧戚绕,春花似錦、人聲如沸枝冀。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,199評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)宾茂。三九已至瓷马,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間跨晴,已是汗流浹背欧聘。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,418評(píng)論 1 260
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留端盆,地道東北人怀骤。 一個(gè)月前我還...
    沈念sama閱讀 45,401評(píng)論 2 352
  • 正文 我出身青樓费封,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親蒋伦。 傳聞我的和親對(duì)象是個(gè)殘疾皇子弓摘,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,700評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容