2分钟学会python数据分析与机器学习知识点(一)

第一节、环境安装

1、Anaconda安装

注意: 
1、安装最新版Anaconda3的版本并且是64位的,安装 python3.x总之是最新版的就可以,还要安装PyCharm和Jupyter NoteBook 安装步骤请搜索互联网
2、检查步骤:如下图,找到Anaconda Prompt打开,弹出命令提示符,可以cd到安装的Anaconda路径下的Scripts文件夹,然后 输入pip list如果弹出很多安装包那说明已经安装成功。
3、额外安装一个包:还是在Scripts包下面:  pip install  xxx  即可

在这里插入图片描述

在这里插入图片描述

2、安装好工具后如何使用
在这里插入图片描述

在这里插入图片描述

如上图所示,开始菜单找到安装好的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 输出结果

第二节、numpy科学计算库

1、numpy科学计算库、列表和数组的转换
Python科学计算库Numpy
确保第一个事,咱们要用的库已经安装好了
import numpy as np
array = [1,2,3,4,5]
array + 1
笔记: 列表不能用数字相加转换
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-21-a0fc7cb4f611> in <module>
      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))
<class 'numpy.ndarray'>
笔记:列表不能有shape值
a=[1,2,3]
tang_list.shape
笔记:有几个中括号就是几维,如下是两行三列,也就是说有2个样本每个样本有3个特征值
np.array([[1,2,3],[4,5,6]]).shape

2、array结构
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])
3、数值计算
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]])
4、排序
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]])

5、数组形状
数组形状操作
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)
<ipython-input-7-a045d1e603cc> in <module>()
----> 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])
6、数组的构建
数组生成¶
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.]])
7、矩阵的运算
矩阵的运算
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)
<ipython-input-9-b85060477e29> in <module>()
----> 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])
8、numpy的随机模块
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])
9、读写模块
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(<numpy.lib.npyio.NpzFile object at 0x000001F8C07CFA58>)
data['a']
array([[1, 2, 3],
       [4, 5, 6]])
data['b']
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值