import numpy as np
numpy.empty(shape, dtype = float, order = 'C')
使用empty() 创建时, 数组元素将是随机值
print( np.empty( [3,3], dtype=int) ) # shape 参数可以是list
print( np.empty( (2,3), dtype=np.float) ) # 也可以是tuple
np.zeros()创建全0数组
print( np.zeros((2,2,3), dtype='i2') ) # 创建了一个三维矩阵
print( np.zeros((2,5), dtype=np.float) )
np.ones() 创建全1数组
print(np.ones(1)) # 可以看到, 默认数据类型为float
print(np.ones((1,)))
print(np.ones((1,1))) # 创建了一个1行1列的二维数组
print(np.ones((2,3), dtype='i1'))
print(np.asarray((1,2,3,4)))
print(np.asarray([1,2,3,4]))
print(np.asarray( [(1,1,1), (2,2,2)] )) # list of tuple
print()
print(np.asarray( ([1,1,1], [2,2,2]) )) # tuple of list
print(np.asarray( ([1,1,1], [2,2]) )) # 当 tuple 中是list时, list长度要相等
print(np.asarray( [(1,1,1), (1,1)] )) # 当 list 中是tuple时, tuple的长度可以不等
numpy.fromiter(iterable, dtype, count=-1)
numpy.fromiter 方法从可迭代对象中建立 ndarray 对象,返回一维数组。
count表示要读取的数据量, -1表示全部读取
a = np.fromiter( range(10), dtype=int)
print(a)
numpy.frombuffer(buffer, dtype = float, count = -1, offset = 0)
从缓冲区读取数据, offset表示读取的起始位置
s = b'hello world' # 前面加b , 把str对象转换为字符串数组
a = np.frombuffer(s, dtype='S1' )
print(a)
print(np.arange(5, step=1.3) ) # stop = 5, 省略了start
print(np.arange(0.1, 0.9, 0.2))
print(np.arange(0.1, 3.9) ) # step 默认为1
np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
[start, stop]
分成num段, 返回的数组表示区间的端点 print(np.linspace(1, 10, 1, dtype=int))
print(np.linspace(1, 10, 2, dtype=int))
print(np.linspace(1, 10, 5))
t = np.linspace(1, 10, 5, retstep=True) # 返回的是一个tuple
print(t)
print(t[0]) # 第一个就是生成的数组
print(t[1]) # 第二个是步长 step
np.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None)
该函数用于创建一个等比数列
base : 对数log的底数
print(np.logspace(0, 10, 6, base=2) )
print(np.logspace(0, 10, 6, base=2, dtype=int) )