国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

numpy學習筆記

2019-11-06 06:19:13
字體:
來源:轉載
供稿:網友

2017/03/07

#!/usr/bin/env python# -*- coding: UTF-8 -*-"""@author: XiangguoSun@contact: sunxiangguodut@QQ.com@file: learn_numpy.py@time: 2017/3/6 15:09@software: PyCharm"""import numpy as np'''1 ndarray'''data=[[1,2,3],[4,5,6]]#也可以是其他序列類型arr1=np.array(data)PRint arr1,arr1.ndim,arr1.shape,arr1.dtypeprint np.zeros((3,)),np.zeros((3,)).ndim,np.zeros((3,)).shapeprint np.zeros((3,1)),np.zeros((3,1)).ndim,np.zeros((3,1)).shapeprint np.zeros((1,3)),np.zeros((1,3)).ndim,np.zeros((1,3)).shapeprint np.zeros(3),np.zeros(3).ndim,np.zeros(3).shape #np.zeros(3)==np.zeros((3,))print np.ones(3)print np.empty(3)print np.ones_like(arr1),np.zeros_like(arr1),np.empty_like(arr1)#shape 為arr1的ndarryprint np.identity(2)#等價于np.eye(2)#創建單位矩陣'''2 ndarray和標量運算大小相同的ndarray之間任何運算都會將運算應用到元素級ndarray與標量的運算也會將那個標量broadcasting到ndarray的各個元素中但是,不同大小的數組之間的運算叫做broadcasting。2.1簡單的運算略2.2 broadcasing廣播的原則:如果兩個數組的后緣維度的軸長相符或者其中一方長度為1,則認為他們是廣播兼容的。廣播會在缺失維度和(或)長度為1的維度上進行。例如:1:shape((4,3))+shape((3,))(4,3)和(3,)的后緣維度為3.因此是廣播兼容的。傳播方向在缺失維度上進行。這里 4 vs 缺失, 3 vs 3因此傳播方向沿著0軸2:shape((4,3))+shape((4,1))(4,3)和(4,1)的后緣維度為:3 vs 1 因此是廣播兼容的。傳播方向在1軸上試想,如果是(1,4,3)和(4,1)呢?也是廣播兼容的,但是傳播方向在0軸和2軸上3:shape((3,4,2))+shape((4,2))(3,4,2)和(4,2)的后緣維度是4vs4 2 vs 2.因此是廣播兼容的,傳播方向在缺失軸0軸4:shape((1,5,3))+shape((5,3))后緣維度是 5 vs 5, 3 vs 3因此是廣播兼容的,傳播方向在缺失軸0軸'''#print np.ones((3,4,2))+np.ones((3,4,2))#報錯,因為廣播不兼容'''2 基本的索引和切片如果你想得到ndarray切片的一份副本而非在源數據上修改,就需要顯示地進行復制操作b=arr[5:8].copy()否則,單純地b=arr[5:8]那么修改b,arr對應的元素也會被修改很簡單,略''''''3,bool型索引'''names=np.array(['bob','bob','david'])values=np.array([1,2,3])print values[names == 'bob']#& | -(!),注意python 關鍵字and or在這里無效print values[values > 2]'''4,花式索引花式索引與切片不同,它總是將數據復制到新數組中'''arr= np.arange(32).reshape((8,4))print arrprint " "print arr[[1,5,2,7]]print arr[[1,5,2,7]]print arr[[1,5,2,7],[2,1,3,1]]#(1,2),(5,1),(2,3),(7,1)print arr[[1,5,2,7]][:,[2,1,3,1]]print arr[np.ix_([1,5,2,7],[2,1,3,1])]'''5,數組轉置和軸對換'''arr= np.arange(15).reshape((3,5))print arrprint arr.transpose()print arr.Tprint np.dot(arr.T,arr)arr = np.arange(16).reshape((2,2,4))print arrprint arr.transpose((1,0,2))#軸序列原本為(0,1,2),現在變成(1,0,2),相當于交換x,y:m[y][x][z]=m[x][y][z]print arr.swapaxes(1,2)#交換1號軸和2號軸m[x][z][y]=m[x][y][z]

6,通用函數 通用函數執行元素級別運算的函數。作用到每個元素。

這里寫圖片描述 這里寫圖片描述
7,meshgrid

接受兩個一維數組,返回一個平面,這個平面用兩個array接受。

這里寫圖片描述

```#!/usr/bin/env python# -*- coding: UTF-8 -*-"""@author: XiangguoSun@contact: sunxiangguodut@qq.com@file: learn_numpy.py@time: 2017/3/6 15:09@software: PyCharm"""import numpy as npimport matplotlib.pyplot as pltpoints=np.arange(-5,5,0.01)xx,yy=np.meshgrid(points,points)z=np.log(np.exp(xx)+np.exp(yy))z2=np.maximum(xx,yy)fig = plt.figure()ax1 = fig.add_subplot(121)ax2 = fig.add_subplot(122)# ax3 = fig.add_subplot(223)# ax4 = fig.add_subplot(224)ax1.contourf(xx,yy,z,20)ax1.set_title("image of $ln( e^{x_1}+e^{x_2} )$")ax2.contourf(xx,yy,z2,20)ax2.set_title("image of $max(x_1,x_2 )$")# ax3.imshow(z)# ax4.imshow(z2)plt.show()

這里寫圖片描述

8,where


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 麻阳| 云浮市| 讷河市| 墨竹工卡县| 桃源县| 江都市| 汾西县| 海林市| 正蓝旗| 永清县| 丰原市| 东方市| 湘潭县| 法库县| 铜梁县| 巴东县| 浮山县| 舟山市| 昌宁县| 承德县| 平遥县| 新蔡县| 周至县| 象州县| 岚皋县| 连南| 大田县| 南雄市| 民权县| 龙岩市| 伽师县| 南木林县| 盐城市| 苗栗县| 法库县| 来安县| 大渡口区| 武清区| 丰镇市| 白山市| 阳原县|