多维数组
形状(Shape):
是一个元组,描述数组的维度,以及各个维度的长度。
长度(Length):
某个维度中的元素个数。
数字 | 单门课程成绩 | 1*课程成绩 |
一维数组 | 多门课程成绩 | n*课程成绩 |
二维数组 | 多个同学多名课程成绩 | 课程成绩+学生 |
三位数组 | 多个班级的多个学生的多门课程成绩 | 课程成绩+学生+班级 |
四维数组 | 多个年纪多个班级的多个学生的多门课程成绩 | 课程成绩+学生+班级+年纪 |
五维数组 | 多个学校多个年纪多个班级的多个学生的多门课程成绩 | 课程成绩+学生+班级+年纪+学校 |
NumPy
提供了多维数组、矩阵的常用操作和一些高效的科学计算函数
安装NumPy库
Anaconda:在Anaconda中,已经被安装了NumPy
pip安装:pip install nump(win+r,输入cmd)
导入NumPy库
import numpy as np
from nump import *
数组元素的数据类型
int8、uint8、int16、uint16、int32、uint32、int64、uint64
float16、float32、float64、float128
complex64、complex128、complex256
bool、object、string_、unicode
创建数组
array([列表]/(元组), dtype=数据类型)
import numpy as np
#创建数组
#NumPy要求数组中所有元素的数据类型必须是一致的
a=np.array([0,1,2,3,4],dtype=np.int64)#占用新的内存
b=np.array([0,1,2,3,4])
print(a)
#输出指定的数组元素
print(a[0])
数组的属性
print(a.ndim)#数组维数
print(a.shape)#数组形状描述数组的维度,以及各个维度内部的元素个数
print(a.size)#数组元素的总个数
print(a.dtype)#数组元素的数据类型
print(a.itemsize)#数组中每个元素的字节数
二维数组:
#二维数组
c=np.array([[1,2,3],[4,5,6],[7,8,9]])
print(c.ndim)#数组维数
print(c.shape)#数组形状描述数组的维度,以及各个维度内部的元素个数
print(c.size)#数组元素的总个数
print(c.dtype)#数组元素的数据类型
print(c.itemsize)#数组中每个元素的字节数
print(c[0])
print(c[0].ndim)#数组维数
print(c[0].shape)#数组形状描述数组的维度,以及各个维度内部的元素个数
print(c[0].size)#数组元素的总个数
print(c[0].dtype)#数组元素的数据类型
print(c[0].itemsize)#数组中每个元素的字节数
三维数组
#三维数组
d=np.array([[[0,1],[2,3]],[[4,5],[6,7]],[[8,9],[10,11]]])
print("d:",d.ndim)#数组维数
print("d:",d.shape)#数组形状描述数组的维度,以及各个维度内部的元素个数
print("d:",d.size)#数组元素的总个数
print("d:",d.dtype)#数组元素的数据类型
print("d:",d.itemsize)#数组中每个元素的字节数
print(d[0])
print("d[0]:",d[0].ndim)#数组维数
print("d[0]:",d[0].shape)#数组形状描述数组的维度,以及各个维度内部的元素个数
print("d[0]:",d[0].size)#数组元素的总个数
print("d[0]:",d[0].dtype)#数组元素的数据类型
print("d[0]:",d[0].itemsize)#数组中每个元素的字节数
print(d[0][0])
print("d[0][0]:",d[0][0].ndim)#数组维数
print("d[0][0]:",d[0][0].shape)#数组形状描述数组的维度,以及各个维度内部的元素个数
print("d[0][0]:",d[0][0].size)#数组元素的总个数
print("d[0][0]:",d[0][0].dtype)#数组元素的数据类型
print("d[0][0]:",d[0][0].itemsize)#数组中每个元素的字节数
创建特殊的数组
#创建数字序列数组(起始数字,结束数字,步长,dtype)
# 起始数字可以省略, 默认从0开始,步长省略默认从1开始
print(np.arange(4))
print(np.arange(0,2,0.3))
#创建全1数组(shape,dtype)
onelist = np.ones((3,2))
print(onelist)
#创建全0数组(shape,dtype)
print(np.zeros((3,2)))
#创建单位数组(行数,列数,dtype)
print(np.eye(3))
print(np.eye(3,2))
#创建等差数组(起始数字,结束数字,元素个数,元素数据类型)
print(np.linspace(1,10,10))
#创建等比数组(起始指数,结束指数,元素个数,基数,元素数据类型)
print(np.logspace(1,5,5,base=2))
#将列表或元组转化为numpy数组对象,不会占用新的内存
onelistasarray = np.asarray(onelist)
print("onelistasarray\n",onelistasarray)
#array()会复制出一个副本,占用新的内存
onelistarray =np.array(onelist)
print("onelistarray\n",onelistarray)
onelist[0][0]=9
print("onelist变\n",onelist)
print("onelistasarray变\n",onelistasarray)
print("onelistarray变\n",onelistarray)