[利用python进行数据分析 书笔记]第4章 NumPy基础:数组和矢量计算

NumPy的ndarray:一种多维数组对象

创建ndarray

data.shape表示各维度大小的元组
data.dtype表示数组数据类型
data.ndim返回维数


ndarray的数据类型



astype显式地转换其dtype,会创建一个新的数组(一份拷贝)


数组和表量之间的运算

两数组之间直接使用+、-、*、/


基本的索引和切片

arr[5:8]数组切片是原始数组的视图(数据不会被复制),视图上的任何修改都会直接反映到原数组上
如arr[5:8]返回index为5-7的值,不包括8
arr[5:8].copy()如果想要得到ndarray的副本而不是视图,需要显式地进行复制


布尔型索引

布尔型数组跟切片、整数可混合使用。如data[names=='bob', 2:]

也可以使用多个布尔条件,如&   |     !。但and和or在布尔型数组中无效


花式索引

arr([1,5],[3,5])选出的是元素(1,3)和(5,5)
arr[[1,5]] [:, [0,3,1,2]]选出1和5行的全部元素,列按0/3/1/2顺序排列
np.ix_将两个一维整数数组转换为一个用于选取方形区域的索引器
arr[np.ix_([1,5],[0,3,1,2])]返回结果与上一个一样


数组转置和轴对换

转置arr.T或arr.transpose()(可用于高维度,输入一个由轴编号组成的元组)
返回的是原数据的视图,不进行复制操作


通用函数:快速的元素级数组函数



利用数组进行数据处理

将条件逻辑表述为数组运算

np.where(x,y,z)x为条件,x为true则返回y,否则为z


数学和统计方法



用于布尔型数组的方法

(arr > 0).sum()布尔值会被强制转换为1/0,sum可用于计算1的值
arr.any()检查arr数组中是否存在一或多个true
arr.all()检查是否全都是true


排序

np.sort()返回已排序的副本,参数可输入1或0表示行和列


唯一化以及其他集合的逻辑



用于数组的文件输入输出

将数组以二进制形式保存到磁盘

np.save('文件名',数组)
np.load('文件名')读取
np.savez('文件名',a=arr,b=arr)将多个数组保存到一个压缩文件


存取文本文件

np.loadtxt('文件名',delimmiter = ',')
np.savetxt()进行相反的操作

线性代数



随机数生成


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值