Numpy学习小结
来源:互联网 发布:广西网络培训系统 编辑:程序博客网 时间:2024/06/14 13:08
目录
- 目录
- 1数据合并及类型转换
- 2数组运算
- 3线性代数运算
- 4注意区别
- 脚注
1、数据合并及类型转换
# 数据合并拼接np.hstack([arr1, arr2]) # 横向合并,必须保证两数组行数相等等价于:np.column_stack([arr1,arr2])np.vstack([arr1, arr2]) # 纵向拼接,必须保证两数组列数相等等价于:np.row_stack([arr1, arr2])# 将数组转换为listb = a.tolist() # b为list类型# 强制转换数组数据类型b = np.zeros([3,4]).astype(float)
2、数组运算
# 常用简单运算arr1**2 np.exp(arr1) np.log(arr1) np.sqrt(arr1) np.abs(arr1)相同形状数组可进行+ - * / 整除// 取余%np.sum(arr1) # 对所有元素求和np.sum(arr1, axis=0) # 对每一列求和np.sum(arr1, axis=1) # 对每一行求和np.cumsum(arr1) # 对所有元素累积求和np.cumsum(arr1, axis=0) # 对每一列元素累积求和np.cumsum(arr1, axis=1) # 对每一行元素累积求和np.max(arr1, axis=0) # 求每一列元素的最大值np.min(arr1, axis=1) # 求每一行元素的最小值np.mean(arr1) # 求所有元素的均值np.median(arr1, axis=0) # 求每一列元素的中位数np.var(arr1, axis=0) # 求每一列元素的方差np.std(arr1, axis=0) # 求每一列元素的标准差还有cos,arccos,sin,arcsin,tan,arctan等,np.ceil() np.floor()向下取整np.where(arr1<0, ‘pos’, 'neg') # 相当于excel的IF函数np.unique(arrr1) # 计算唯一值# 集合运算intersect(x,y) # 计算x和y的公共元素,即交集union1d(x,y) # 计算x和y的并集setdiff1d(x,y) # 计算x和y的差集,即元素在x中,不在y中setxor1d(x,y) # 计算集合的对称差,即存在于一个数组中,但不同时存在于两个数组中in1d(x,y) # 判断x的元素是否包含于y中np.argsort() # 返回排序后的索引np.where() # 返回制定条件的索引
3、线性代数运算
# 线性代数运算# 同样numpu也跟R语言一样,可以非常方便的进行线性代数方面的计算,如行列式、逆、迹、特征根、特征向量等。但需要注意的是,有关线性代数的函数并不在numpy中,而是numpy的子例linalg中。np.linalg.det(arr13) #返回方阵的行列式np.linalg.inv(arr13) #返回方阵的逆np.trace(arr13) #返回方阵的迹(对角线元素之和),注意迹的求解不在linalg子例程中np.linalg.eig(arr13) #返回由特征根和特征向量组成的元组np.linalg.qr(arr13) #返回方阵的QR分解np.linalg.svd(arr13) #返回方阵的奇异值分解np.dot(arr13,arr13) #方阵的正真乘积运算
4、注意区别
- 1、Numpy切片为视图(copy用法)
Numpy数组切片是原始数据的一个视图,并不对原始数据进行复制,更新可改变原数据。不管你将切片怎么赋值到变量,也只是一个视图,更新还是会影响原数据。要想取出一块数据,则需要显式的复制。nd_data.copy()。
a=np.array([1,2,3,4,5])b=a[2:4]barray([3, 4])b[0]=111barray([111, 4])aarray([ 1, 2, 111, 4, 5])
- 2、列表切片为指针,也属于潜复制
a=[1,2,3,4,5]b=a[2:4]b[3, 4]b[0]=111b[111, 4]a[1, 2, 3, 4, 5]
- 3、列表显式复制(list用法)
python中list(a)用法,在列表赋值过程中。
a=[1,2,3,4]
b=a 区别于 b=list(a)
list(a)相当于复制a,当a的值改变时,b的值不发生变化。而b=a只是将a的指针传给b。
脚注
若有错误,请及时指出。
阅读全文
0 0
- Numpy学习小结
- Numpy学习小结(1)
- numpy学习小结(2)
- numpy等差数列生成函数arange学习小结
- Python-Numpy小结1
- python-numpy小结2
- python-numpy小结3
- Numpy学习
- NumPy学习
- numpy学习
- numpy 学习
- numpy学习
- numpy学习
- Numpy 学习
- Numpy学习
- numpy学习
- numpy 学习
- Numpy学习
- JavaScript中事件绑定
- 多线程面试题
- 每日MySQL之015:MySQL中的自动提交(autocommit)与savepoint
- 小白学tkinter(Scrollbar组件 滚动条)
- 匹配滤波
- Numpy学习小结
- JDK动态代理示例
- jquery each中包含switch标签判断错误跳过each循环
- Target-specific Variable Values
- 大整数类模版(部分)
- Leetcode654. Maximum Binary Tree
- CodeForces
- 机器学习实战学习笔记(一)分类—kNN算法(python3实现)
- 利用集合模拟斗地主(2)