1. 实现两个数组相加,在数据量特别大的时候
产生数组:
(1)  从列表产生数组:a=[0,1,2,3]
               a=np.array(1)
                a
(2)  从列表传入
a=np.array([1,2,3,4])
(3)  生成全0的数组
np.zeros(5)
(4)  生成全1的数组
np.ones(5,dtype=’bool’)àdtype可以用来指定数据类型
(5)  可以使用fill方法将数组设为指定值
(6)  生成整数序列
a=np.arange(1,10)从1开始生成数据,一直到9
(7)  生成等差数列
a=np.linspace(1,10,10)从1到10总共10个等差数列
(8)  生成随机数
a=np.random.rand(10)
(9)  生成具有服从标准正态的随机数
  a=np.random.randn(10)
(10)  生成随机整数
a=np.random.randint(10)
2. 查看类型
(1)  查看数组类型
type(a)
(2)  查看数组中的数据类型
a.dtype
(3)  查看形状
a.shape
(4)  查看数组元素的个数
a.size
(5)  查看维度
a.ndim
3. 索引和切片
(1)  索引第一个元素
(2)  修改第一个元素的值,切片:支持负索引
4. 多维数组及其属性
可以利用array来实现二维数组
a=np.array([[1,2,3,4],
          [5,6,7,8]])
5. 多维数组索引
对于二维数组,可以传入两个数来索引:
[[1,2,3,4],
[5,6,7,8]]
a[1,3]à其中1是行索引,3是列索引,中间用逗号隔开,事实上python会将他们看作一个元组(1,3),然后按照顺序进行对应,可以利用索引给他们赋值
事实上,我们还可以使用单个索引来索引一整行内容
a[1]
python会将这个单元组当成对第一维的索引,然后返回对应的内容
a[:,1]
这样的写法是第二列的内容
6. 多维数组切片
f=np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
想得到第一行的第4和第5个元素
f[0,3:5]
想得到最后两行的最后两列
f[2:,2:]
每一维都支持切片的规则,包括负索引
想要隔行取:f[2::2,2::2]
7. 切片是引用
切片在内存中使用的是引用机制,引用机制意味着python并没有为b分配新的空间来存储他的值,而是让b指向a所分配的内存空间,因此b会改变a的值,而这种现象在列表中并不会出现
a=np.array([1,2,3,4,5,6])
b=a[1:4]
b[1]=100
此时a的对应的值会发生改变
一个解决方案就是使用copy()方法产生一个复制,复制操作即会申请一个新的空间
8. 花式索引
(1)  一维花式索引
a=np.arange([0,100,10])
index=[1,2,-3]
y=a[index]
y
索引出来的即为10,20,70
(2)  利用布尔数组花式索引
(3)  二维花式索引
(4)  不完全索引
只给定行索引的时候,返回整行
y=a[:3]
9. where语句
where函数会返回所有非零元素的索引
(1)  一维数组
判断数组中的元素是不是大于3
a=np.array([1,2,3,4,5,6])
a>3
则会返回[false false false true true true]
若要数组中所有大于3的元素的索引位置:
np.where(a>3)
where返回值是一个元组,返回的是索引位置
10.数组类型转换
(1)  当数组内元素类型不相同时
  a=np.array([1.3,-2],dtype=float)
(2)  将其强制转换
(3)  astype方法-返回一个新数组
 a=np.array([1,2,3])
 b=a.astype(float)
11.数组排序
(1)  sort函数
 a=np.array([3212,4343,2121,5442])
 b=np.sort(a)
(2)  argsort函数
 argsort返回从小到大的排列在数组中的索引位置
(3)   
12.求和np.sum()
13.最大值np.max()
14.最小值np.min()
15.均值np.mean()
16.标准差np.cov()