第一周
import numpy as np
#强制类型转换:.astype
arr=np.array([1,3,6])
print(arr,arr.dtype)
arr1=arr.astype("float32")
print(arr1,arr1.dtype)
arr2=arr.astype("str_")
print(arr2,arr2.dtype)
#自动类型转换:.array
arr=np.array([1,3.4,6,"python"])
print(arr,arr.dtype)
# 数组的创建
import numpy as np
# .array [重点]
# 一维数组
arr1 = np.array((1, 5, 7)) # object: tuple
arr1 = np.array({1, 5, 7}) # object: set
arr1 = np.array({"a": 1, "b": 2, "c": 3}) # object: dict
print(arr1, type(arr1))
# 二维数组
arr2 = np.array([[1, 3], [4, 6]])
arr2 = np.array([(1, 3), (4, 6)])
arr2 = np.array([("height", 1.82), ("weight", 73.6)])
print(arr2, type(arr2))
# 三维数组
arr2 = np.array([[[1, 3], [4, 6]], [[2, 4], [7, 9]]])
print(arr2, type(arr2), arr2.shape)
# dtype参数
arr3 = np.array([(1, 3), (4, 6)], dtype="str_")
print(arr3, arr3.dtype)
# ndmin参数:维数
arr3 = np.array([1, 3, 4, 6], dtype="str_", ndmin=3)
print(arr3, arr3.dtype, arr3.shape)
arr4 = np.asarray(arr3, dtype="float16")
print(arr4, arr4.dtype, arr4.shape)
arr5 = np.empty((3, 2), dtype="int8")
arr6 = np.empty_like(arr5)
print(arr5, arr5.dtype, arr5.shape)
print(arr6, arr6.dtype, arr6.shape)
arr6 = np.zeros((3, 4, 5), dtype="int8")
print(arr6, arr6.shape)
arr6 = np.ones((4, 5), dtype="int8")
print(arr6, arr6.shape)
arr6 = np.full((5, 3), fill_value=6, dtype="float32")
print(arr6, arr6.shape)
第二周(数组和切片)
#数组
#ndim (几维度)
#
import numpy as np
arr =np.array([[1,4],[6,7]])
print("维数:",arr.ndim)
print("维度:",arr.shape)
print("元素类型::",arr.dtype)
print("元素个数:",arr.size)
#三维 了解轴 axis=1,axis=0,axis=0。
#3.1索引和切片
#格式
#索引 数组的索引和切片
import numpy as np
arr =np.array([[1,4],
[6,7]])
#二维素组
print(arr[1,0]) #取第一行的第0列的元素
print(arr[1]) #取第一行的第0列的元素
print(arr[:,0]) #取第一列的元素
#切片
print(arr[:]) #取整个数组的行和列(相当于复制)
print(arr[1:,:1]) #取第一行第0列
#三维素组
arr1 =np.array([
[[1,3],
[5,7]],
#一共两页
[[2,4],
[6,8]]])
print(arr1[1,0,1]) #第1页第0行第1列
print(arr1[:,1,:])
print(arr1[:,:,1])
#3.2 高级索引的方式
print("高级索引:",arr1[:,[1,0],:])
#练习
#
import numpy as np
#创建二维数组,存储1-12十二个元素
arr =np.array([[1,4],
[6,7]])
arr2=np.array([1,2])
#GTP版
## 创建一个包含1到12的一维数组
array_1d = np.arange(1, 13)
# 将一维数组转换为二维数组
array_2d = array_1d.reshape(3, 4)
print(array_2d)
# 老师版
arr3 =np.arange(1,13)
arr4=arr3.reshape(3,4)
print("老师版",arr4)
#切片出“四个角”上元素
print(arr[::2,::3])
#切出array[[5,6],[8,9]]
#条件筛选
第三周