轴:
在numpy 中可以理解为方向,使用0,1,2等数字表示,对于一个一维数组,只有一个0轴,对于
二维数组(shape(2,2)),有0轴和1轴,对于三维数组(shape(2,2,3)),有0,1,2轴
有了轴的概念之后,我们计算会更加方便,比如计算一个二维数组的平均值,必须指定时计算哪个方向上的数字平均值。
numpy读取数据(简单了解,pandas更强)
CVS:Comma-Separated Value,逗号分隔值文件
显示:表格状态
源文件:换行和逗号分隔行列式的格式化文本,每一行的数据表示一条记录
由于csv便于展示,读取和写入,所以很多地方也是用csv的格式存储和传输中小型数据,为了方便教学,我们会经常操作cvs格式的文件,但是操作数据库中的数据也是很容易的实现的。
函数:
np.loadtxt(frame,dtype=np.float,delimiter=None,skiprows=0,usecols=None,unpack=False)
参数:
frame:文件,字符串或产生器,可以是.gz或bz2压缩文件
dtype:数据类型,可选,CVS的字符串一身那么数据类型读入数组中,默认np.float
delimiter:分割字符串,默认时任何空格,改为逗号
skiprows:跳过前x行,一般跳过第一行表头
usecols:读取指定的列,索引,元组类型
unpack:如果True,读入属性将分别写入不同数组变量,False读入数据只写入一个数组变量,默认False。
numpy索引和切片
对于刚加载出来的数据,如果只想选择其中的某一列(行)应该如何做?
跟python列表差不多
import numpy as np s=np.arange(81).reshape(9,9) print(s) #取行 print(s[2]) #取连续多行 print(s[2:]) #取不连续多行 print(s[[0,1]]) #取列 print(s[:,0]) #取连续多列 print(s[:,2:]) #取不连续多列 print(s[:,[0,2]]) #取多行和多列,取的是行和列的交叉点 #取不相邻多个点 #取的是(0,2)(1,2)(2,3) print(s[[0,1,2],[2,2,3]])
numpy中数据的修改
#数据的修改 s[2:,4:6]=0 print(s) #替换小于10的值 y=s<10 print(y) s[s<10]=3 print(s) x=np.where(s<10,0,10) print(x)
numpy中数据的裁剪
m=s.clip(10,18) print(m)