arr = np.array([1, 2, 3, 4])
print('通过list转换而来')
print("array", arr, arr.dtype, arr.ndim, arr.shape)
print('通过 list of list 创建')
mat_arr = np.array([
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
])
print(mat_arr, mat_arr.ndim, mat_arr.dtype, mat_arr.shape)
arr = np.arange(10)
print('通过简单生成器按序生成1')
print("[0, 9]: ", arr, arr.dtype, arr.ndim, arr.shape)
arr = np.arange(0, 9)
print('通过简单生成器按序生成2')
print("[0, 8]: ", arr, arr.dtype)
print('通过简单生成器按序生成3')
arr = np.arange(0, 9, 2, dtype=np.int8)
print("[0 .. 8]: ", arr, arr.dtype)
- 与arange类似,基于一个范围构建数组
- 区别:num指创建数值个数,endpoint=True指包含终结点9,retstep=True包含起点。
print('等差生成器')
arr = np.linspace(0, 9, num=5, endpoint=True, dtype=np.int)
print("[0 .. 10]: ", arr, arr.dtype)
print('等比生成器')
arr = np.logspace(0, 9, num=10, base=2, dtype=np.int)
print("[0, 9]: ", arr, arr.dtype)
print('初始化为0')
mat_zero = np.zeros((2, 2), dtype=np.int)
print(mat_zero, mat_zero.ndim, mat_zero.dtype, mat_zero.shape)
print('初始化为1')
mat_one = np.ones((2, 2), dtype=np.int)
print(mat_one, mat_one.ndim, mat_one.dtype, mat_one.shape)
print('对角线为1')
mat_eye = np.eye(3, 4, dtype=np.int)
print(mat_eye, mat_eye.ndim, mat_eye.dtype, mat_eye.shape)
print('对角线为1的矩形')
mat_idt = np.identity(3, dtype=np.int)
print(mat_idt, mat_idt.ndim, mat_idt.dtype, mat_idt.shape)
print('未初始化')
mat_empty = np.empty((2, 2), dtype=np.int)
print(mat_empty, mat_empty.ndim, mat_empty.dtype, mat_empty.shape)
print('随机矩阵1')
d1 = np.random.randint(10, 20, (4, 5))
print(d1, d1.dtype, d1.ndim, d1.shape)
print('随机矩阵2')
d2 = np.random.rand(3, 4)
print(d2, d2.dtype, d2.ndim, d2.shape)
print('随机矩阵3')
d3 = np.random.randn(3, 5)
print(d3, d3.dtype, d3.ndim, d3.shape)
print('从指定的正态分布中随机抽取样本')
arr = np.random.normal(20, 0.6, (3, 2))
print('随机矩阵4')
d4 = np.random.uniform(20, 60, (3, 2))
dt = np.fromfunction(lambda i, j: i + j, (4, 5), dtype=int)
print(dt, dt.dtype, dt.ndim, dt.shape)
- start end : 时间起止
- periods : 生成个数
- freq : 生成频率
print('时间序列')
df = pd.date_range("1996-10-16", "2019-10-25", periods=None, freq='Y')
print(len(df))
print(df[0])
print(df)