导入和初始化
import numpy as np
data = [1,2,3,4,5,3]
arr = np.array(data)
ones_like、zeros_like、empty_like,创建类似形状的nparray
ndarray9 = np.ones_like(ndarray5)
详见numpy数组的创建link.
一些重要(或不重要)的属性
arr.itemsize # 查看arr每个元素的大小(所占空间)
arr.dtype # 查看arr中元素的数据格式
arr.shape # 查看arr的行列数(也可以是三维或多维)
arr.size # 查看arr的大小(行*列)
一些重要(或不重要)的方法
np.zeros(9) #创建内容均为0的数组
np.zeros((3*4)) #创建多维0数组
np.ones(9) #创建内容均为1的数组
np.empty((3,3)) # 创建不指定初始值的数组
np.eye(3) # 创建一个N*N的方阵(单位矩阵),对角是1,其余是0
np.arange(5)# 是range的数组版本
arange([start], stop, [step], dtype=None)
nparrange与range的区别 link…重要的区别是range步长不能是小数,而nparrange步长可以是小数。
# range(5)只会生成一个range object,需要加上list才能形成list
c = list(range(5))
c = [i for i in range(0,5)]
dtype指定及转换
类型指定
arr = np.array([1, 2, 3], dtype=np.float64)
arr = np.array([1,2,3],dtype = np.int32)
类型转换
arr = np.array([1,2,3])
arr_float = arr.astype(np.float64) #float 转 int 是取整数部分,而不是四舍五入
# 或者类似
t2 = t1.astype("bool")
其他内容:
- python数据分析(1)-numpy产生随机数link.
- linspace创建等差数列link.
- 详解numpy的argmaxlink.
- 计算Python Numpy向量之间的欧氏距离link.
- Numpy.random.seed()的用法link.
- numpy.maximum.accumulate的替代用法(高级)link.
arr = np.array([1,np.nan,3,1])
np.fmax.accumulate(arr)
结果为:array([1., 1., 3., 3.])
利用where函数,nan的地方继续nan,其他地方是accumulate(arr)
np.where(np.isnan(arr), np.nan, np.fmax.accumulate(arr))
结果为:array([ 1., nan, 3., 3.])