一、前言

  1. 博主是一个普普通通的大学生,没有很厉害的技术,写的内容都是不太正经的偏小白简单的,写的也是学校教过的知识消化后自己的见解,不是很学术研究的博文。
  2. 配置:Window 7旗舰版+64位操作系统+Anaconda3 Spyder(64-bit)
  3. 大数据挖掘经常用的包有:NumPy(科学计算库),SciPy(科学计算库),Pandas(数据分析处理库),Matplotlib(数据可视化库),Scikit-learn(机器学习库)。这篇博文主要是介绍NumPy。
  4. NumPy是一个开源的Python科学计算基础库,提供了大量的数值编程工具,可以方便地处理向量、矩阵等运算。
  5. NumPy包含:N维数组对象ndarray,广播功能函数,线性代数、傅里叶变换,随机数生成功能。

二、导入NumPy库

(1)方法一

import numpy

(2)方法二

from numpy import *          #‘*’是全部的意思,从numpy里导入全部就是导入numpy的意思

(3)方法三

import numpy as np          
#‘np’是导入模块的别名,可以换别的,但‘np’为习惯用法,用别名代码会更简洁

三、从Python中的列表、元组等类型创建ndarray数组

1.从列表类型创建

import numpy as np
x=np.array([0,1,2,3])
print(x)

假如想直接在Spyder页面右边输下图的话,需要提前在左边输入‘import numpy as np’并运行一遍

array科学计算库 python python科学计算包_array科学计算库 python

2. 从元组类型创建

import numpy as np
y=np.array((4,5,6,7))
print(y)

假如想直接在Spyder页面右边输下图的话,需要提前在左边输入‘import numpy as np’并运行一遍

array科学计算库 python python科学计算包_array科学计算库 python_02

3.从列表和元组混合类型创建

import numpy as np
z=np.array([[1,2],[3,4],(0.6,0.8)])
print(z)

假如想直接在Spyder页面右边输下图的话,需要提前在左边输入‘import numpy as np’并运行一遍。而且元组和列表的表达方式不一样,注意观察他的的括号。

array科学计算库 python python科学计算包_array科学计算库 python_03

四、使用NumPy中的函数创建ndarray数组

1.arange函数

(1)类似range函数,返回ndarray类型,元素从0到n-1。
(2)代码

np.arange(n)        #n为个数

(3)例子

array科学计算库 python python科学计算包_NumPy_04

2.ones函数

(1)根据shape生成一个全是1数组,shape是元组类型。
(2)代码

np.ones(shape)

(3)例1

当shape为(3,4),所以出来的数组为三行四列全是1的ndarray数组

array科学计算库 python python科学计算包_numpy_05


(4)例2

array科学计算库 python python科学计算包_数组_06

3.zeros函数

(1)根据shape生成一个全是0数组,shape是元组类型。
(2)代码

np.zeros(shape)

(3)例子

当shape为(4,3),所以出来的数组为四行三列全是0的ndarray数组

array科学计算库 python python科学计算包_numpy_07

4.full函数

(1)用shape生成一个数组,每个元素值都是val
(2)代码

np.full(shape,val)                             #shape为数组,val的值根据需要进行替换

(3)例子

当shape为(2,3),val值为6;所以出来的数组为两行三列全是6的ndarray数组

array科学计算库 python python科学计算包_numpy_08

5.eye函数

(1)创建一个正方的n*n的单位矩阵,对角线为1,其余为0
(2)代码

np.eye(n)                            #‘n’是单位矩阵的边长,可以根据需要进行替换

(3)例子

当n的值为3时,结果为一个正方的3*3的单位矩阵,对角线为1,其余为0的ndarray数组

array科学计算库 python python科学计算包_数组_09

五、使用NumPy中其他函数创建ndarray数组

1.linspace函数

(1)根据起止数据等间距地填充数据,形成数组

(2)格式:

array科学计算库 python python科学计算包_array科学计算库 python_10


(3)代码

np.linspace(start,stop,num,endpoint=“True/False”)

(4)例1

生成起始值为1,结束值为10,同等间距的四个样本

array科学计算库 python python科学计算包_NumPy_11


(5)例2

array科学计算库 python python科学计算包_数组_12

2.concatenate函数

(1)将两个或多个数组合并成一个新的数组
(2)代码

np.concatenta(数组1,数组2)

(3)例

从上面已知a,b数组

array科学计算库 python python科学计算包_数组_13

3.hstack函数

(1)水平堆叠序列的数组(列方向)
(2)代码:

import numpy as np
a=np.array([[1,2],[3,4]])
print('第一个数组:')
print(a)
b=np.array([[5,6],[7,8]])
print('第二个数组:')
print(b)
print('水平堆叠:')
c=np.hstack((a,b))
print(c)

(3)结果

array科学计算库 python python科学计算包_array科学计算库 python_14

4.vstack函数

(1)竖直堆叠序列的数组(行方向)
(2)代码

import numpy as np
a=np.array([[1,2],[3,4]])
print('第一个数组:')
print(a)
b=np.array([[5,6],[7,8]])
print('第二个数组:')
print(b)
print('竖直堆叠:')
d=np.vstack((a,b))
print(d)

(3)结果

array科学计算库 python python科学计算包_数组_15

5.hstack函数与vstack函数对比

(1)代码

import numpy as np
a=np.array([[1,2],[3,4]])
print('第一个数组:')
print(a)
b=np.array([[5,6],[7,8]])
print('第二个数组:')
print(b)
print('水平堆叠:')
c=np.hstack((a,b))
print(c)
print('竖直堆叠:')
d=np.vstack((a,b))
print(d)

(2)结果

array科学计算库 python python科学计算包_numpy_16

六、获取数组属性

(1)代码

array科学计算库 python python科学计算包_array科学计算库 python_17

ndarray.itemsize:数组中每个元素的字节大小。例如,一个元素类型为float64的数组itemsize属性值为8(float64占用64个bits,每个字节长度为8,所以64/8,占用8个字节),又如,一个元素类型为complex32的数组item属性为4(32/8)。

(2)实例

array科学计算库 python python科学计算包_数组_18

————————————————————
持续更新…