import numpy as np
print(np.version)
# print(“使用列表生成一维数组”)
# data = [[[1,2]]]
# x = np.array(data)
# print(x)
# print(type(x))
print(x.dtype)
print(x.ndim)
print(x.itemsize)
print(x.flags)
print(x.real)
print(x.imag)
print(x.data)
print(“使用列表生成二维数组”)
data = [[1,2],[3,4],[5,6]]
x = np.array(data)
print(x)
print(x.ndim)
print(x.shape)
print(“使用zeros/ones/empty创建数组:通过shape来创建”)
x = np.zeros((2,3),dtype=np.int8)
print(x)
print(x.dtype)
x[0][0]=-129
print(x[0][0])
x = np.ones((4,5),dtype=np.float32)
print(x)
print(x.dtype)
print(“使用arange生成连续的元素”)
print(np.arange(6))
print(np.arange(1,6,2))
print(“使用astype复制数组,并且转换类型”)
x = np.array([128,2,3,4,5],dtype=np.int32)
y = x.astype(dtype=np.int8)#精度损失
print(x)
print(y)
z = y.astype(np.float64)
print(y)
print(z)
print(“将字符串元素转为数值元素”)
x = np.array([‘1’,‘2’,‘3’,‘4’,‘5’],dtype=np.string_)
y = x.astype(np.int8)#如果元素中有不为数字的元素,则会抛出异常
print(x)
print(y)
print(“使用其他的数组的数据类型作为参数”)
x = np.array([1,2,3,4],dtype=np.float64)
y = np.arange(3,dtype=np.int32)
print(y)
print(y.astype(x.dtype))
print(“ndarray数组与标量/数组的运算”)
x = np.array([1,2,3,])
print(x*2)
print(x>2)
y = np.array([2,3,4])
print(x*y)
print(x>y)
print(“ndarray的基本索引”)
x = np.array([[1,2],[3,4],[5,6]])
print(x.shape)
print(x[0])
print(x[0][1])
print(x[0,1])
x = np.array([[[1,2],[3,4]],[[5,6],[7,8]]])
print(x.shape)
print(x[0])
print(x[0][1])
print(x[0,1,0])
y = x[0].copy()#生成一个副本
z = x[0]#未生成副本
print(y)
print(y[0,0])
y[0,0] = 9
z[0,0] = -1
print(y)
print(x)
print(z)
print(“ndarray的切片”)
x = np.array([1,2,3,4,5])
print(x[1:3])
print(x[:3])
print(x[1:])
print(x[:])
print(x[0:4:2])
x = np.array([[1,2],
[3,4],
[5,6]])
print(x.shape)
print(x[:2])
print(x[:2,:1])
print(x[:2][:1])
x[:2,:1] = 0
print(x)