import numpy as np
a = [1,2,0,0,4,0]
b = np.nonzero(a)
print(b)
import numpy as np
a = np.eye(3,3)
print(a)
import numpy as np
a = np.ones(36).reshape((6,6))
print(a)
a[1:-1,1:-1] = 0
print(a)
import numpy as np
a = np.ones(36).reshape((6,6))
a = np.pad(a,((1,1),(1,1)),'constant')
print(a)
补充pad函数学习:Numpy学习——数组填充np.pad()函数的应用_o_Eagle_o的博客-CSDN博客_np.pad()
import numpy as np
a = np.ones(25).reshape((5,5))
b = [1,2,3,4]
print(np.diag(b,k = -1))
diag函数补充:https://www.jb51.net/article/212551.htm
import numpy as np
a = np.unravel_index(100,(6,7,8))
print(a)
unravel_index函数补充:numpy 中 np.unravel_index 使用_gzh_kevin的博客-CSDN博客_np.unravel_index
import numpy as np
a = np.tile([[1,0],[0,1]],(4,4))
print(a)
tile函数补充:np.tile()函数的详解_中南自动化学院“智能控制与优化决策“至渝的博客-CSDN博客_np.tile()函数
import numpy as np
a = np.random.random((5,5))
a_max = a.max()
a_min = a.min()
b = (a - a_min) / (a_max - a_min)
print(b)
归一化好像就是一个公式?数据的归一化(Normalization)、标准化(Standardization)_探索者v的博客-CSDN博客_中位数归一化
23. 创建一个dtype来表示颜色(RGBA) (★☆☆)
= =目前看不懂
import numpy as np
a = np.ones((5,3))
b = np.ones((3,2))
c = np.dot(a,b)
print(c)
np.dot 矩阵相乘
import numpy as np
a = np.arange(11)
a[(2 < a) & (a <= 8)] = -1 * a[(2 < a) & (a <= 8)]
print(a)
# np.intersect1d(Z1,Z2) 求得Z1和Z2数组的交集
import numpy as np
today = np.datetime64('today','D')
yestaday = today - np.timedelta64(1,'D')
tomorrow = today + np.timedelta64(1,'D')
print(yestaday,today,tomorrow)
datetime64和timedelta64函数:numpy.datetime64()日期函数_梦寐_的博客-CSDN博客_numpy.datetime64
import numpy as np
a = np.arange('2016-07','2016-08',dtype = 'datetime64[D]')
print(a)
import numpy as np
A = np.ones(3)
B = np.ones(3) * 2
print(A)
print(B)
np.add(A,B,out = B)
np.divide(A,2,out = A)
print(A)
np.negative(A,out = A)
print(A)
np.multiply(A,B,out = A)
print(A)
注意各基本计算函数
import numpy as np
def data():
for i in range(0,11):
yield i
a = np.fromiter(data(),dtype = 'float',count = -1)
print(a)
# yield 的作用就是把一个函数变成一个 生成器generator,带有 yield 的函数不再是一个普通函数,Python 解释器会将其视为一个 generator。
# 虽然执行流程仍按函数的流程执行,但每执行到一个 yield 语句就会中断,并返回一个迭代值,下次执行时从 yield 的下一个语句继续执行。
# 看起来就好像一个函数在正常执行的过程中被 yield 中断了数次,每次中断都会通过 yield 返回当前的迭代值。
# fromiter(iterable,dtype,count = -1),从可迭代对象创建新的1维数组。
# iterable:可迭代对象。一个可迭代的对象,为数组提供数据。
# dtype:数据类型。返回数组的数据类型。
# count:int,可选。要从* iterable *中读取的项目数。 默认值为-1,这意味着所有数据都被读取。
# 返回:ndarray。输出数组。
import numpy as np
a = np.linspace(0,1,12)[1:-1]
print(a)
#linespace函数创建等差数列,前两个参数分别是数列的开头与结尾。如果写入第三个参数,可以制定数列的元素个数
import numpy as np
a = np.arange(10)
print(np.sum(a))
print(np.add.reduce(a))
# np.sum与np.add.reduce两者的功能是一样的,对数组进行进行求和。
# 但是两者的性能似乎是完全不同的:对于相对较小的数组大小而言。add.reduce大约快两倍。对于较大的数组大小,差别似乎消失了
import numpy as np
a = np.random.randint(0,10,5)
b = np.random.randint(0,10,5)
print(a,b)
equal = np.allclose(a,b)
equal1 = np.array_equal(a,b)
print(equal,equal1)
import numpy as np
a = np.arange(10)
print(a)
a.flags.writeable = False
a[1] = 3
print(a)
?
?
import numpy as np
np.set_printoptions(threshold = 5)
a = np.ones((16,16))
print(a)
# threshold : int, optional,当数组数目过大时,设置显示几个数字;threshold=np.nan意思是输出数组的时候完全输出
import numpy as np
a = np.random.uniform(0,1,10)
print(a)
Z = 0.5
print(a[np.argmin(abs(a - Z))])
argmin()取该数组中最小值的索引值
?
import numpy as np
a = {'names':('x','y','r','g','b'),'formats':('float','float','float','float','float')}
print(a)
b = np.rec.array([(12,12,2,3,5)],dtype = a)
print(b.g)
通过指定字典的 names和formats 去实现,使用 numpy.rec.array()创建赋值
一文彻底搞懂numpy的结构化数组——structured array_LoveMIss-Y的博客-CSDN博客_结构化数组
?
import numpy as np
a = np.arange(9).reshape(3,3)
print(a)
for index,value in np.ndenumerate(a):
print(index,value)
np.ndenumerate返回numpy数组的索引和值