numpy 的使用 [时间:2020年2月]
数据的加载
np.loadtext(frame,delimiter,dtype,skiprows,usecols,unpack)
file_path = ""
np.loadtext(file_path,delimiter=",",dtype="int",skiprows=0,usecols=(0,),unpack=ture)
参数 | 注释 |
---|
frame | 文件、字符串或产生器,可以是.gz或bz2压缩文件,可以加载多种文件类型 |
delimiter | 文件的分割符,默认是任何空格 |
dtype | 数据类型,默认是np.float |
skiprows | 跳过几行 |
usecols | 读取制定的列,索引,元组类型 |
unpack | 如果是ture,读入属性将分别写入不同数组变量,False读入数据只写入一个数组变量,默认False ,起到转置的作用,转置的轴是对角线 |
创建numpy数据对象 (常用)
1.numpy.array()
numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
numpy.array([1, 2, 3, 4, 5], dtype=int,copy=True,ndmin=2)
参数 | 注释 |
---|
object | 数组或嵌套的队列 |
type | 数组元素的数据类型 |
copy | 对象是否可复制 |
order | 创建数组的方向 C行方向 F列方向 A任意方向,默认A |
subok | 默认返回一个与基类类型一致的数组 |
ndmin | 生成数组的最小纬度 |
2.numpy.arange()
numpy.arange(start,stop,step,dtype)
numpy.arange(1,5,1,dtype=float)
参数 | 注释 |
---|
start | 开始值,默认0 |
stop | 结束值 |
step | 步长 |
dtype | 数据类型,默认None,元素的原类型 |
3.numpy.zeros & numpy.ones
numpy.zeros(shape,dtype=float,order = 'C')
numpy.zeros((2,2),dtype=float,order='C')
参数 | 注释 |
---|
shape | 数组的形状,元组,eg:(1,)、(2,3) |
dtype | 数据类型 ,int ,float |
order | 是否在存储器中以C或Fortran连续(按行或列方式)存储多维数据,默认C |
常用操作
a = np.array([1,2,3,4],[5,6,7,8])
a[2]
a[2:,3]
a[2,1:]
a[[1,2],[3,4]]
a[a>10]
np.where(a>1,20,10)
a.clip(10,20)
a.T
a.transpose
a.swapaxes(1,0)
a.sum(axis=0)
a.mean(axis=0)
a.median(axis=0)
a.max(axis=0)
a.min(axis=0)
a.ptp(axis=0)
a.std(axis=0)
空值处理
a[a.nan != a.nan]
a[np.isnan[a]]
import numpy as np
nump = np.arange(20).reshape(4,5).astype('float')
nump[[1,2],[3,4]] = np.nan
for i in range(nump.shape[1]):
temp_col = nump[:,i]
num = np.count_nonzero(temp_col != temp_col)
if num != 0 :
temp_mean = temp_col[temp_col == temp_col].mean()
temp_col[temp_col != temp_col] = temp_mean