14天Python編程從入門到實(shí)踐--Day14:Numpy的通用函數(shù)

'''
Numpy 通用函數(shù)
'''

# 數(shù)組形狀: .T/reshape()/.resize()
# 注意了:.T/.reshape()/.resize()都是生成新的數(shù)組Kル纭6米谩盛垦!

# .T:裝置 原來(lái)的shape為(3,4)匣距,轉(zhuǎn)置后為(4,3)膝擂,一位數(shù)組轉(zhuǎn)置后結(jié)果不變
ar1 = np.arange(10)
ar2 = np.ones((5,2))
print(ar1,'\n',ar1.T)
print(ar2,'\n',ar2.T)
print('-----------------')

# numpy.reshape(a, newshape, order='C'):為數(shù)組提供新形狀亚斋,而不更改其數(shù)據(jù)样悟,所以元素?cái)?shù)量需要一致7髂肌!
ar3 = ar1.reshape(2,5) # 用法1:直接將已有數(shù)組改變形狀 
ar4 = np.zeros((4,6)).reshape(8,3) # 用法2:生成數(shù)組后直接改變形狀
ar5 = np.reshape(np.arange(15),(3,5)) # 用法3:參數(shù)內(nèi)添加數(shù)組窟她,目標(biāo)形狀
print(ar1,'\n',ar3)
print(ar4)
print(ar5)
print('-----------------')

# numpy.resize(a, new_shape):返回具有指定形狀的新數(shù)組陈症,如有必要可重復(fù)填充所需數(shù)量的元素。
ar6 = np.resize(np.arange(5),(3,4))
print(ar6)

輸出:
[0 1 2 3 4 5 6 7 8 9] 
 [0 1 2 3 4 5 6 7 8 9]
[[ 1.  1.]
 [ 1.  1.]
 [ 1.  1.]
 [ 1.  1.]
 [ 1.  1.]] 
 [[ 1.  1.  1.  1.  1.]
 [ 1.  1.  1.  1.  1.]]
-----------------
[0 1 2 3 4 5 6 7 8 9] 
 [[0 1 2 3 4]
 [5 6 7 8 9]]
[[ 0.  0.  0.]
 [ 0.  0.  0.]
 [ 0.  0.  0.]
 [ 0.  0.  0.]
 [ 0.  0.  0.]
 [ 0.  0.  0.]
 [ 0.  0.  0.]
 [ 0.  0.  0.]]
[[ 0  1  2  3  4]
 [ 5  6  7  8  9]
 [10 11 12 13 14]]
-----------------
[[0 1 2 3]
 [4 0 1 2]
 [3 4 0 1]]

# 數(shù)組的復(fù)制

ar1 = np.arange(10)
ar2 = ar1
print(ar2 is ar1)
ar1[2] = 9
print(ar1,ar2)
# 回憶python的賦值邏輯:指向內(nèi)存中生成的一個(gè)值 → 這里ar1和ar2指向同一個(gè)值震糖,所以ar1改變录肯,ar2一起改變

ar3 = ar1.copy()
print(ar3 is ar1)
ar1[0] = 9
print(ar1,ar3)
# copy方法生成數(shù)組及其數(shù)據(jù)的完整拷貝
# 再次提醒:.T/.reshape()/.resize()都是生成新的數(shù)組!5跛怠嘁信!

輸出:
True
[0 1 9 3 4 5 6 7 8 9] [0 1 9 3 4 5 6 7 8 9]
False
[9 1 9 3 4 5 6 7 8 9] [0 1 9 3 4 5 6 7 8 9]

# 數(shù)組類型轉(zhuǎn)換:.astype()

ar1 = np.arange(10,dtype=float)
print(ar1,ar1.dtype)
print('-----')
# 可以在參數(shù)位置設(shè)置數(shù)組類型

ar2 = ar1.astype(np.int32)
print(ar2,ar2.dtype)
print(ar1,ar1.dtype)
# a.astype():轉(zhuǎn)換數(shù)組類型
# 注意:養(yǎng)成好習(xí)慣,數(shù)組類型用np.int32疏叨,而不是直接int32

輸出:
[ 0.  1.  2.  3.  4.  5.  6.  7.  8.  9.] float64
-----
[0 1 2 3 4 5 6 7 8 9] int32
[ 0.  1.  2.  3.  4.  5.  6.  7.  8.  9.] float64
In [10]:

# 數(shù)組拆分 

ar = np.arange(16).reshape(4,4)
ar1 = np.hsplit(ar,2)
print(ar)
print(ar1,type(ar1))
# numpy.hsplit(ary, indices_or_sections):將數(shù)組水平(逐列)拆分為多個(gè)子數(shù)組 → 按列拆分
# 輸出結(jié)果為列表潘靖,列表中元素為數(shù)組

ar2 = np.vsplit(ar,4)
print(ar2,type(ar2))
# numpy.vsplit(ary, indices_or_sections)::將數(shù)組垂直(行方向)拆分為多個(gè)子數(shù)組 → 按行拆

輸出:
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]
 [12 13 14 15]]
[array([[ 0,  1],
       [ 4,  5],
       [ 8,  9],
       [12, 13]]), array([[ 2,  3],
       [ 6,  7],
       [10, 11],
       [14, 15]])] <class 'list'>
[array([[0, 1, 2, 3]]), array([[4, 5, 6, 7]]), array([[ 8,  9, 10, 11]]), array([[12, 13, 14, 15]])] <class 'list'>

# 數(shù)組簡(jiǎn)單運(yùn)算

ar = np.arange(6).reshape(2,3)
print(ar + 10)   # 加法
print(ar * 2)   # 乘法
print(1 / (ar+1))  # 除法
print(ar ** 0.5)  # 冪
# 與標(biāo)量的運(yùn)算

print(ar.mean())  # 求平均值
print(ar.max())  # 求最大值
print(ar.min())  # 求最小值
print(ar.std())  # 求標(biāo)準(zhǔn)差
print(ar.var())  # 求方差
print(ar.sum(), np.sum(ar,axis = 0))  # 求和,np.sum() → axis為0蚤蔓,按列求和卦溢;axis為1,按行求和
print(np.sort(np.array([1,4,3,2,5,6])))  # 排序
# 常用函數(shù)

輸出:
[[10 11 12]
 [13 14 15]]
[[ 0  2  4]
 [ 6  8 10]]
[[ 1.          0.5         0.33333333]
 [ 0.25        0.2         0.16666667]]
[[ 0.          1.          1.41421356]
 [ 1.73205081  2.          2.23606798]]
2.5
5
0
1.70782512766
2.91666666667
15 [3 5 7]
[1 2 3 4 5 6]
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市单寂,隨后出現(xiàn)的幾起案子贬芥,更是在濱河造成了極大的恐慌,老刑警劉巖宣决,帶你破解...
    沈念sama閱讀 217,734評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蘸劈,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡尊沸,警方通過(guò)查閱死者的電腦和手機(jī)威沫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)洼专,“玉大人棒掠,你說(shuō)我怎么就攤上這事∑ㄉ蹋” “怎么了烟很?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,133評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)蜡镶。 經(jīng)常有香客問(wèn)我雾袱,道長(zhǎng),這世上最難降的妖魔是什么官还? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,532評(píng)論 1 293
  • 正文 為了忘掉前任谜酒,我火速辦了婚禮,結(jié)果婚禮上妻枕,老公的妹妹穿的比我還像新娘僻族。我一直安慰自己,他們只是感情好屡谐,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布述么。 她就那樣靜靜地躺著,像睡著了一般愕掏。 火紅的嫁衣襯著肌膚如雪度秘。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,462評(píng)論 1 302
  • 那天饵撑,我揣著相機(jī)與錄音剑梳,去河邊找鬼。 笑死滑潘,一個(gè)胖子當(dāng)著我的面吹牛垢乙,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播语卤,決...
    沈念sama閱讀 40,262評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼追逮,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼酪刀!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起钮孵,我...
    開(kāi)封第一講書(shū)人閱讀 39,153評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤骂倘,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后巴席,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體历涝,經(jīng)...
    沈念sama閱讀 45,587評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評(píng)論 3 336
  • 正文 我和宋清朗相戀三年漾唉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了荧库。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,919評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡毡证,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蔫仙,到底是詐尸還是另有隱情料睛,我是刑警寧澤,帶...
    沈念sama閱讀 35,635評(píng)論 5 345
  • 正文 年R本政府宣布摇邦,位于F島的核電站恤煞,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏施籍。R本人自食惡果不足惜居扒,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望丑慎。 院中可真熱鬧喜喂,春花似錦、人聲如沸竿裂。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,855評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)腻异。三九已至进副,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間悔常,已是汗流浹背影斑。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,983評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留机打,地道東北人矫户。 一個(gè)月前我還...
    沈念sama閱讀 48,048評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像残邀,于是被迫代替她去往敵國(guó)和親吏垮。 傳聞我的和親對(duì)象是個(gè)殘疾皇子障涯,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評(píng)論 2 354

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