1、Anaconda安装
注意:
1、安装最新版Anaconda3的版本并且是64位的,安装 python3.x总之是最新版的就可以,还要安装PyCharm和Jupyter NoteBook 安装步骤请搜索互联网
2、检查步骤:如下图,找到Anaconda Prompt打开,弹出命令提示符,可以cd到安装的Anaconda路径下的Scripts文件夹,然后 输入pip list如果弹出很多安装包那说明已经安装成功。
3、额外安装一个包:还是在Scripts包下面: pip install xxx 即可
如上图所示,开始菜单找到安装好的Jupyter NoteBook 点击打开,然后点击右上角的NEW继续点击python3即可创建一个新的工程然后如上图打印出你当前路径。
3、给Jupyter NoteBook添加配置文件
还是在Anaconda路径下的Scripts文件夹里面,输入
jupyter notebook --generate-config
创建默认的配置文件可以到在C盘的:C:\Users\Administrator\.jupyter 这个路径下有一个文件,需要进去修改如下图的.py文件
找到以搜索关键字 然后修改
c.NotebookApp.notebook_dir = ''为你的路径
比如我的路径为:c.NotebookApp.notebook_dir = 'G:\pythonJupyter'修改好以后保存,修改完后重启notebook
快捷键:
Esc+A插入一行可以写标题
shift+enter 输出结果
Python科学计算库Numpy
确保第一个事,咱们要用的库已经安装好了
import numpy as np
array = [1,2,3,4,5]
array + 1
笔记: 列表不能用数字相加转换
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
in
1 import numpy as np
2 array = [1,2,3,4,5]
----> 3 array + 1
TypeError: can only concatenate list (not "int") to list
笔记: 数组和列表之间的转换
yyliu=[1,2,3,4,5]
array = np.array(yyliu)
print (type(array))
笔记:列表不能有shape值
a=[1,2,3]
tang_list.shape
笔记:有几个中括号就是几维,如下是两行三列,也就是说有2个样本每个样本有3个特征值
np.array([[1,2,3],[4,5,6]]).shape
numpy的 Array结构¶
import numpy as np
对于ndarray结构来说,里面所有的元素必须是同一类型的如果不是的话,会自动的向下进行转换,也就是说如果有int和string先处理类型统一然后再操作
tang_list = [1,2,3,4,5]
tang_array = np.array(tang_list)
tang_array
array([1, 2, 3, 4, 5])
ndarray基本属性操作
type(tang_array)
tang_array.dtype
dtype('int32')
int32和int64意思是表示的范围
tang_array.fill(0)
tang_array
tang_array.fill(1)
tang_array
array([1, 1, 1, 1, 1])
索引与切片:都是从0开始的 yyliu[-1]代表从最后面取值
yy=[1,2,3]
liu=np.array(yy)
liu[0]
liu[1:3]
liu[-1]
liu[-2:]
yy=[1,2,3]
liu=np.array(yy)
liu[0]
liu[1:3]
liu[-1]
liu[-2:]
array([2, 3])
ndim代表几维的 1代表1维
yy=[1,2,3]
liu=np.array(yy)
liu.ndim
yy=[1,2,3]
liu=np.array(yy)
liu.ndim
1
liu
yy=[[1,2,3],[4,5,6],[7,8,9]]
liu=np.array(yy)
liu.shape
(3, 3)
liu.size
9
数组的大小
np.size(liu)
9
tang_array
np.shape(liu)
(3, 3)
1
liu[1,1]
5
取出数据并且改变数据的值
liu[1,1]=10
liu
array([[ 1, 2, 3],
[ 4, 10, 6],
[ 7, 8, 9]])
tang_array.fill(0)
tang_array
array([0, 0, 0, 0, 0])
索引与切片:跟Python都是一样的 还是从0开始的
tang_list = [1,2,3,4,5,6]
tang_array = np.array(tang_list)
tang_array[0]
1
tang_array[1:3]
array([2, 3])
tang_array[-3:]
array([4, 5, 6])
矩阵格式(多维的形式)
tang_array = np.array([[1,2,3],
[4,5,6],
[7,8,9]])
tang_array
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
tang_array.shape
(3, 3)
tang_array.size
9
tang_array.ndim
2
tang_array[1,1]
5
tang_array[1,1] = 10
tang_array
array([[ 1, 2, 3],
[ 4, 10, 6],
[ 7, 8, 9]])
取索引,只在第一个维度中取得索引,从0开始也就是说从第二行开始取得所有的行也就是[4,10,6]
tang_array[1]
array([ 4, 10, 6])
冒号表示取所有逗号前面是第一维表示取所有样本,然后1表示第二列也是从0开始的
tang_array[:,1]
array([ 2, 10, 8])
tang_array[0,0:2]
array([1, 2])
tang_array
array([[ 1, 2, 3],
[ 4, 10, 6],
[ 7, 8, 9]])
不同的赋值操作
tang_array
tang_array2 = tang_array
tang_array2
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
等号的复制之后tang_array和tang_array2的区域复制后全部变了重要,而copy不会改变复制后的,因为指向地址是不同的
tang_array2[1,1] = 100
tang_array2
array([[ 1, 2, 3],
[ 4, 100, 6],
[ 7, 8, 9]])
tang_array
array([[ 1, 2, 3],
[ 4, 100, 6],
[ 7, 8, 9]])
tang_array2 = tang_array.copy()
tang_array2
array([[ 1, 2, 3],
[ 4, 100, 6],
[ 7, 8, 9]])
tang_array2[1,1] = 10000
tang_array2
array([[ 1, 2, 3],
[ 4, 10000, 6],
[ 7, 8, 9]])
tang_array
array([[ 1, 2, 3],
[ 4, 100, 6],
[ 7, 8, 9]])
将数据进行划分,np.array(0,100,10)从0到100等号间隔
tang_array = np.arange(0,100,10)
tang_array
array([ 0, 10, 20, 30, 40, 50, 60, 70, 80, 90])
在布尔类型下0代表false 1代表true,dtype为bool值
mask = np.array([0,0,0,0,0,1,1,1,1,1],dtype=bool)
mask
array([False, False, False, False, False, True, True, True, True,
True])
tang_array[mask]
array([50, 60, 70, 80, 90])
随机构建10个值 np.random.rand
random_array
random_array = np.random.rand(10)
random_array
array([0.90171493, 0.95693234, 0.31021308, 0.9898944 , 0.8700991 ,
0.76612533, 0.78028891, 0.88195788, 0.77661616, 0.57071582])
mask = random_array > 0.5
mask
array([ True, True, False, True, True, True, True, True, True,
True])
tang_array[mask]
array([ 0, 10, 30, 40, 50, 60, 70, 80, 90])
tang_array = np.array([10,20,30,40,50])
tang_array > 30
array([False, False, False, True, True])
where就是把大于30的给找出来,结果就是4,56,7,8,9意思就是选到的所有的索引值
np.where(tang_array > 30)
(array([4, 5, 6, 7, 8, 9], dtype=int64),)
tang_array[np.where(tang_array > 30)]
array([40, 50])
dtype等于np.float32意思是说浮点数类型
tang_array = np.array([1,2,3,4,5],dtype=np.float32)
tang_array
array([ 1., 2., 3., 4., 5.], dtype=float32)
tang_array.dtype
dtype('float32')
tang_array.nbytes
20
当矩阵中出现不同数据类型那么就应该赋值:dtype = np.object
dtype = np.object
tang_array = np.array([1,10,3.5,'str'],dtype = np.object)
tang_array
array([1, 10, 3.5, 'str'], dtype=object)
tang_array * 2
array([2, 20, 7.0, 'strstr'], dtype=object)
tang_array = np.array([1,2,3,4,5])
np.asarray(tang_array,dtype = np.float32)
array([ 1., 2., 3., 4., 5.], dtype=float32)
tang_array
array([1, 2, 3, 4, 5])
tang_array2 = np.asarray(tang_array,dtype = np.float32)
tang_array2
array([ 1., 2., 3., 4., 5.], dtype=float32)
tang_array
array([1, 2, 3, 4, 5])
astype举例,一开始是int类型的然后要对其进行转换可以使用astype进行转换
tang_array.astype(np.float32)
array([ 1., 2., 3., 4., 5.], dtype=float32)
tang_array
array([1, 2, 3, 4, 5])
array数组的数值计算
import numpy as np
tang_array = np.array([[1,2,3],[4,5,6]])
tang_array
array([[1, 2, 3],
[4, 5, 6]])
np.sum(tang_array)
21
笔记:指定要进行的操作是沿着什么轴(维度)进行计算,比如指定维度为0的时候axis就是维度的意思,代码可知有两个维度的数据
使用0值表示沿着每一列或行标签\索引值向下执行方法 使用1值表示沿着每一行或者列标签模向执行对应的方法
np.sum(tang_array,axis=0)
array([5, 7, 9])
tang_array.ndim
2
np.sum(tang_array,axis=1)
array([ 6, 15])
np.sum(tang_array,axis=-1)
array([ 6, 15])
tang_array.sum()
21
tang_array.sum(axis = 0)
array([5, 7, 9])
tang_array.sum(axis = 1)
array([ 6, 15])
tang_array.prod()
720
乘积操作,从0轴开始操作也就是说1X4,2X5,3X6
tang_array.prod(axis = 0)
array([ 4, 10, 18])
tang_array.prod(axis = 1)
array([ 6, 120])
min表示取最小值
tang_array.min()
1
表示按照什么轴去取得最小值
tang_array.min(axis = 0)
array([1, 2, 3])
tang_array.min(axis = 1)
array([1, 4])
tang_array.max()
6
argmin表示 找索引最小值的位置
找到索引位置
tang_array.argmin()
0
argmin表示 找索引最小值的位置按照0轴开始找也就是说最小值为1,2,3对应的位置都是0,0,0
tang_array.argmin(axis = 0)
array([0, 0, 0], dtype=int64)
# argmin表示 找索引最小值的位置按照0轴开始找也就是说最小值为1,4对应的位置都是0
tang_array.argmin(axis=1)
array([0, 0], dtype=int64)
# argmin表示 找索引最大值的位置索引为5按照顺序去找的
tang_array.argmax()
5
表示取平均值求和为21/6=3.5
tang_array.mean()
3.5
tang_array.mean(axis = 0)
array([ 2.5, 3.5, 4.5])
标准差
tang_array.std()
1.707825127659933
tang_array.std(axis = 1)
array([ 0.81649658, 0.81649658])
方差的计算
tang_array.var()
2.9166666666666665
tang_array
array([[1, 2, 3],
[4, 5, 6]])
预处理进行截断处理,从2开始到4结束,也就是说小于2的最小也就是2,大于4的最大也就是4进行补全
tang_array.clip(2,4)
array([[2, 2, 3],
[4, 4, 4]])
四舍五入算法 就是数值特别精确的情况下使用round进行精确
tang_array = np.array([1.2,3.56,6.41])
tang_array.round()
array([1., 4., 6.])
精确到小数点后面1位,也就是decimals=1精确到小数点后面1位
tang_array.round(decimals=0)
array([1., 4., 6.])
type(tang_array)
numpy.ndarray
意思是一维数组,数组中有3个元素。
tang_array.shape
(3,)
tang_array.dtype
dtype('float64')
tang_array.ndim
1
创建一个二维数组的方法
m = n = 3
test = np.zeros((m, n), dtype=np.int)
test
array([[0, 0, 0],
[0, 0, 0],
[0, 0, 0]])
m = n = 3
test = np.ones((m, n), dtype=np.int)
test
array([[1, 1, 1],
[1, 1, 1],
[1, 1, 1]])
numpy排序
import numpy as np
tang_array = np.array([[1.5,1.3,7.5],
[5.6,7.8,1.2]])
tang_array
array([[1.5, 1.3, 7.5],
[5.6, 7.8, 1.2]])
np.sort(tang_array)
array([[1.3, 1.5, 7.5],
[1.2, 5.6, 7.8]])
指定轴按照0意思是按照第一列进行排序 1就是按照第一行进行排序
np.sort(tang_array,axis = 0)
array([[1.5, 1.3, 1.2],
[5.6, 7.8, 7.5]])
tang_array
array([[1.5, 1.3, 7.5],
[5.6, 7.8, 1.2]])
排序后的索引 argsort
np.argsort(tang_array)
array([[1, 0, 2],
[2, 0, 1]], dtype=int64)
笔记:np.linspace(0,10,10) 第一个参数从0开始,第二个参数是到10结束,最后一个就是多少个,从0开始到10结束 等间隔去构建10个数据
tang_array = np.linspace(0,10,10)
tang_array
array([ 0. , 1.11111111, 2.22222222, 3.33333333, 4.44444444,
5.55555556, 6.66666667, 7.77777778, 8.88888889, 10. ])
笔记:将searchsorted(tang_array,values) 自己的数据插入到队伍中。返回的结果就是插入到什么位置,也就是返回了索引位置
values = np.array([2.5,6.5,9.5])
tang_array
array([ 0. , 1.11111111, 2.22222222, 3.33333333, 4.44444444,
5.55555556, 6.66666667, 7.77777778, 8.88888889, 10. ])
tang_array=np.searchsorted(tang_array,values)
# 先第一列降序排再按照第三列升序排,如下 冒号:取得所有样本,后面逗号跟了个0,0是第一列,2是第三列。
tang_array = np.array([[1,0,6],
[1,7,0],
[2,3,1],
[2,4,0]])
tang_array
array([[1, 0, 6],
[1, 7, 0],
[2, 3, 1],
[2, 4, 0]])
index = np.lexsort([-1*tang_array[:,0],tang_array[:,2]])
index
array([0, 1, 3, 2], dtype=int64)
tang_array = tang_array[index]
tang_array
array([[2, 4, 0],
[1, 7, 0],
[2, 3, 1],
[1, 0, 6]])
数组形状操作
import numpy as np
import numpy as np
tang_array = np.arange(10)
tang_array
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
tang_array.shape
(10,)
tang_array.shape = 2,5
tang_array
array([[0, 1, 2, 3, 4],
[5, 6, 7, 8, 9]])
tang_array.reshape(1,10)
array([[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]])
大小必须不能改变
tang_array.shape = 3,4
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
in ()
----> 1 tang_array .shape = 3,4
ValueError: cannot reshape array of size 10 into shape (3,4)
tang_array = np.arange(10)
tang_array.shape
(10,)
笔记: 输入都是(n,n) 一维数据进行二维显示,np.newaxis加一个轴
np.newaxis
tang_array = tang_array[np.newaxis,:]
tang_array.shape
(1, 10)
tang_array = np.arange(10)
tang_array.shape
(10,)
tang_array = tang_array[:,np.newaxis]
tang_array.shape
(10, 1)
tang_array = tang_array[:,np.newaxis,np.newaxis]
tang_array.shape
(10, 1, 1, 1)
tang_array = tang_array.squeeze()
tang_array.shape
(10,)
tang_array.shape = 2,5
tang_array
array([[0, 1, 2, 3, 4],
[5, 6, 7, 8, 9]])
笔记:矩阵的转置 .transpose)和.T都可以进行转置
tang_array.transpose()
array([[0, 5],
[1, 6],
[2, 7],
[3, 8],
[4, 9]])
tang_array.T
array([[0, 5],
[1, 6],
[2, 7],
[3, 8],
[4, 9]])
tang_array
array([[0, 1, 2, 3, 4],
[5, 6, 7, 8, 9]])
数组的连接
import numpy as np
a = np.array([[123,456,678],[3214,456,134]])
a
array([[ 123, 456, 678],
[3214, 456, 134]])
b = np.array([[1235,3124,432],[43,13,134]])
b
array([[1235, 3124, 432],
[ 43, 13, 134]])
c = np.concatenate((a,b))
c
array([[ 123, 456, 678],
[3214, 456, 134],
[1235, 3124, 432],
[ 43, 13, 134]])
c = np.concatenate((a,b),axis = 0)
c
array([[ 123, 456, 678],
[3214, 456, 134],
[1235, 3124, 432],
[ 43, 13, 134]])
同一批样本的不能特征拼接在一起
c = np.concatenate((a,b),axis = 1)
c
array([[ 123, 456, 678, 1235, 3124, 432],
[3214, 456, 134, 43, 13, 134]])
vstack垂直(按行)拼接,hstack水平(按列顺序)把数组给堆叠起来,
vstack
np.vstack((a,b))
array([[ 123, 456, 678],
[3214, 456, 134],
[1235, 3124, 432],
[ 43, 13, 134]])
hstack
np.hstack((a,b))
array([[ 123, 456, 678, 1235, 3124, 432],
[3214, 456, 134, 43, 13, 134]])
a
array([[ 123, 456, 678],
[3214, 456, 134]])
拉长矩阵,无论拼接成什么都可以将想要的东西拉出来,如果想要特征展示就很需要
a.flatten()
array([ 123, 456, 678, 3214, 456, 134])
数组生成¶
import numpy as np
import numpy as np
np.array([1,2,3])
array([1, 2, 3])
构造出来一个数组
np.arange(10)
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
从谁开始 到谁结束,以多少间隔进行增加 2代表从2开始,到20结束 以2为间隔,不包括20
np.arange(2,20,2)
array([ 2, 4, 6, 8, 10, 12, 14, 16, 18])
np.arange(2,20,2,dtype=np.float32)
array([ 2., 4., 6., 8., 10., 12., 14., 16., 18.], dtype=float32)
np.linspace(0,10,10)
array([ 0. , 1.11111111, 2.22222222, 3.33333333,
4.44444444, 5.55555556, 6.66666667, 7.77777778,
8.88888889, 10. ])
默认是10为底的
np.logspace(0,1,5)
array([ 1. , 1.77827941, 3.16227766, 5.62341325, 10. ])
x = np.linspace(-10,10,5)
x
array([-10., -5., 0., 5., 10.])
y = np.linspace(-10,10,5)
y
array([-10., -5., 0., 5., 10.])
笔记: 更常用的 zeros ones,全0和全1
import numpy as np
np.zeros(4)
array([0., 0., 0., 0.])
3
np.zeros((4,3))
array([[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.]])
np.ones((3,3))
array([[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.]])
笔记: 构建就是支持乘以8
np.ones((3,3)) * 8
array([[8., 8., 8.],
[8., 8., 8.],
[8., 8., 8.]])
np.ones((3,3),dtype = np.float32)
array([[ 1., 1., 1.],
[ 1., 1., 1.],
[ 1., 1., 1.]], dtype=float32)
a = np.empty(6)
a.shape
(6,)
a
array([0., 0., 0., 0., 0., 0.])
a.fill(1)
a
array([ 1., 1., 1., 1., 1., 1.])
tang_array = np.array([1,2,3,4])
tang_array
array([1, 2, 3, 4])
笔记:权重w1和权重w2,可以用np.zeros_like 维度是一模一样的,然后再进行填充
np.zeros_like
np.zeros_like(tang_array)
array([0, 0, 0, 0])
np.ones_like(tang_array)
array([1, 1, 1, 1])
np.identity(5)
array([[ 1., 0., 0., 0., 0.],
[ 0., 1., 0., 0., 0.],
[ 0., 0., 1., 0., 0.],
[ 0., 0., 0., 1., 0.],
[ 0., 0., 0., 0., 1.]])
矩阵的运算
import numpy as np
import numpy as np
x = np.array([5,5])
y = np.array([2,2])
乘法的运算
np.multiply(x,y)
array([10, 10])
x
array([5, 5])
y
array([2, 2])
1维的时候是内积计算
笔记: 一维的时候是内积的操作,即对应位置相乘加一起。
np.dot(x,y)
20
x.shape
(2,)
y.shape
(2,)
x.shape = 2,1
x
array([[5],
[5]])
np.dot(x,y)
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
in ()
----> 1 np.dot(x,y)
ValueError: shapes (2,1) and (2,) not aligned: 1 (dim 1) != 2 (dim 0)
y.shape = 1,2
y
array([[2, 2]])
x
array([[5],
[5]])
二维的时候就是矩阵计算
print (x.shape)
print (y.shape)
(2, 1)
(1, 2)
np.dot(x,y)
array([[10, 10],
[10, 10]])
np.dot(y,x)
array([[20]])
import numpy as np
x = np.array([1,1,1])
y = np.array([[1,2,3],[4,5,6]])
y = np.array([1,1,1,4])
x = np.array([1,1,1,2])
x == y
array([ True, True, True, False], dtype=bool)
np.logical_and(x,y)
array([ True, True, True, True], dtype=bool)
np.logical_or(x,y)
array([ True, True, True, True], dtype=bool)
np.logical_not(x,y)
array([0, 0, 0, 0])
Numpy的随机模块
2
import numpy as np
#所有的值都是从0到1
np.random.rand(2,2)
array([[0.58043992, 0.92809763],
[0.40986225, 0.73892513]])
#返回的是随机的整数,左闭右开
np.random.randint(10,size = (5,4))
array([[8, 0, 3, 7],
[4, 6, 3, 4],
[6, 9, 9, 8],
[9, 1, 4, 0],
[5, 9, 0, 5]])
np.random.rand()
0.5595234784766201
np.random.random_sample()
0.8279581297618884
np.random.randint(0,10,3)
array([7, 7, 5])
随机的高斯初始化随机值
mu, sigma = 0,0.1
np.random.normal(mu,sigma,10)
array([ 0.05754667, -0.07006152, 0.06810326, -0.11012173, 0.10064039,
-0.06935203, 0.14194363, 0.07428931, -0.07412772, 0.12112031])
precision=2 表示小数点后面取到两位
set_printoptions
np.set_printoptions(precision = 2
)
mu, sigma = 0,0.1
np.random.normal(mu,sigma,10)
array([ 0. , 0.01, 0.09, -0.05, 0.06, 0.03, -0.01, -0.05, -0.01,
0.07])
洗牌
tang_array = np.arange(10)
tang_array
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
shuffle(
np.random.shuffle(tang_array)
tang_array
array([6, 2, 5, 7, 4, 3, 1, 0, 8, 9])
随机的种子,用来对数据集进行划分时候用来建立模型和用来测试的。也就是定义好种子后就可以按照种子去洗牌的
0
np.random.seed(100)
mu, sigma = 0,0.1
np.random.normal(mu,sigma,10)
array([-0.17, 0.03, 0.12, -0.03, 0.1 , 0.05, 0.02, -0.11, -0.02,
0.03])
import numpy as np
import numpy as np
使用Numpy读写数据
%%writefile tang.txt
1 2 3 4 5 6
2 3 5 8 7 9
Overwriting tang.txt
import numpy as np
import numpy as np
data = []
with open('tang.txt') as f:
for line in f.readlines():
fileds = line.split()
cur_data = [float(x) for x in fileds]
data.append(cur_data)
data = np.array(data)
data
array([[1., 2., 3., 4., 5., 6.],
[2., 3., 5., 8., 7., 9.]])
import numpy as np
data = np.loadtxt('tang.txt')
data
array([[1., 2., 3., 4., 5., 6.],
[2., 3., 5., 8., 7., 9.]])
%%writefile tang2.txt
1,2,3,4,5,6
2,3,5,8,7,9
Overwriting tang2.txt
data = np.loadtxt('tang2.txt',delimiter = ',')
data
array([[1., 2., 3., 4., 5., 6.],
[2., 3., 5., 8., 7., 9.]])
%%writefile tang2.txt
x,y,z,w,a,b
1,2,3,4,5,6
2,3,5,8,7,9
Overwriting tang2.txt
data = np.loadtxt('tang2.txt',delimiter = ',',skiprows = 1)
data
array([[ 1., 2., 3., 4., 5., 6.],
[ 2., 3., 5., 8., 7., 9.]])
'tang2.txt':路径最好放到和代码一起
skiprows : 去掉几行
delimiter = ',' :分隔符
usecols = (0,1,4) :指定使用哪几列
tang_array = np.array([[1,2,3],[4,5,6]])
np.savetxt('tang4.txt',tang_array)
np.savetxt('tang4.txt',tang_array,fmt='%d')
np.savetxt('tang4.txt',tang_array,fmt='%d',delimiter = ',')
np.savetxt('tang4.txt',tang_array,fmt='%.2f',delimiter = ',')
读写array结构
tang_array = np.array([[1,2,3],[4,5,6]])
np.save('tang_array.npy',tang_array)
tang = np.load('tang_array.npy')
tang
array([[1, 2, 3],
[4, 5, 6]])
tang_array2 = np.arange(10)
tang_array2
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
np.savez('tang.npz',a=tang_array,b=tang_array2)
data = np.load('tang.npz')
data.keys()
KeysView()
data['a']
array([[1, 2, 3],
[4, 5, 6]])
data['b']
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])