1. numpy定义
初始化
# 普通的numpy array定义
numpy.array(object, dtype=None, copy=True, order='K', \
subok=False, ndmin=0)
# 定义一个维度且服从[0,1]均匀分布的array。
numpy.random.rand(d0, d1, ..., dn)
# 定义 全1 的array
numpy.ones(shape, dtype=None, order='C')[source]
# 对角元素
numpy.diag(v, k=0)[source]
# 对角元素全1,N:行数,M:列数。
numpy.eye(N, M=None, k=0, dtype=<type 'float'>)[source]
2. 初始化
随机数组
np.random.randint(5, size=(2, 4))
3. 判断函数
同时满足两个条件:
my_array = arange(10)
np.where((my_array > 3) & (my_array < 7))
满足其中一个条件:
res = np.where(np.logical_or(mask == 120, mask == 180), 1, 0)
4. np.vectorize
class numpy.vectorize(pyfunc, otypes=None, doc=None, excluded=None, cache=False,
signature=None)
生成函数类。
该函数以对象或numpy数组的嵌套序列作为输入,并返回单个numpy数组或numpy数组的元组。
def myfunc(a, b):"Return a-b if a>b, otherwise return a+b"if a > b:return a - belse:return a + b
vfunc = np.vectorize(myfunc)
vfunc([1, 2, 3, 4], 2)
效果:
array([3, 4, 1, 2])
5. np.vstack, np.hstack,np.append
np.vstack: 主要对array进行垂直方法的合并;
np.hstack: 主要对array进行水平方向的合并;
np.append:主要对1维数组进行合并。
a = np.array([1, 2, 3])
b = np.array([2, 3, 4])
np.vstack((a,b))
效果:
array([[1, 2, 3],[2, 3, 4]])
6. 分位数
# 分位数,第25%小的数
arr = np.array([1,2,3,4,5,6,7,8,9,10])
np.percentile(arr, 25)
更多的numpy函数 python的numpy包使用;
参考:
- numpy.random.rand;
- numpy.array;
- numpy eye;
- randint:
- np.vectorize;
- np.vstack;