Numpy基础功能索引——续
来源:互联网 发布:隔墙听音器 淘宝 编辑:程序博客网 时间:2024/05/18 20:10
接上上篇blog: Numpy基础功能索引
ndarray
ndarray(数组)作为Numpy中定义的一个对象,是Numpy的基础。ndarray是一个同构数据多维容器。也就是说,ndarray作为一个容器,其中数据的数据类型必需是相同的,其中的数据可以是多维的。ndarray有两个属性来形容它自己:shape表示数组结构+dtype表示数组的数据类型。
创建数组
最常用的是np.array()
In [48]: data = np.array([[1, 2], [11, 12]], dtype=str)In [50]: dataOut[50]: array([['1', '2'], ['11', '12']], dtype='|S2')In [51]: data.astype(int)Out[51]: array([[ 1, 2], [11, 12]])
tips:代码中的int会自动转成np中的数据类型np.int1
Numpy中的切片
Numpy的切片与list中类似,不做详述2。但是Numpy中的切片得到的是原始数据的视图,如果在视图改变数据,那么原始数据也会改变。如果要得到原始数据的复制,则要显式的表达arr[5:8].copy()特例是bool型索引,它返回的是原始数据的复制。
bool型索引
In [53]: data = np.random.randn(7, 4)In [54]: data < 0Out[54]: array([[False, True, False, False], [False, False, False, False], [ True, False, True, True], [ True, False, True, True], [ True, False, True, False], [ True, True, True, False], [False, True, False, False]], dtype=bool)In [55]: data[data < 0] = 0In [56]: dataOut[56]: array([[ 1.4368676 , 0. , 1.04331785, 0.96806906], [ 0.40453328, 0.08870373, 1.45806316, 0.14055398], [ 0. , 0.73339497, 0. , 0. ], [ 0. , 2.23611536, 0. , 0. ], [ 0. , 1.23302155, 0. , 1.66173436], [ 0. , 0. , 0. , 0.68743457], [ 0.59085145, 0. , 0.85077155, 0.24273212]])
Numpy中的排序
可以指定轴,如arr.sort(1),返回的也是视图。
np.unique():唯一化加排序
Numpy中的线性代数
数组的转置arr.T
常用的numpy.linalg函数如下表所示:
- 笔者的话
- Numpy基础功能索引到这里就完成了,写这两篇博客的目的一方面是练习写csdn的markdown,另一方面是为了做一个简单的索引表,以后想用numpy实现某些功能的时候就不用翻书了。
- float是python中的基本数据类型,np.float64或者np.float或者其他都是np中的数据类型,两者虽然精度不同,但是作==判断时是相等的 ↩
- 数组还可以这样arr2d[0][2]==arr2d[0, 2] ↩
1 0
- Numpy基础功能索引——续
- NumPy基础功能索引
- numpy基础——numpy.argsort
- numpy基础——numpy.tile
- numpy基础——numpy.sum
- Numpy学习笔记——Numpy基础
- numpy的基本用法(三)——numpy的索引
- 【NumPy基础】100道numpy练习——Apprentice篇
- 【NumPy基础】100道numpy练习——进阶篇
- 【NumPy基础】100道numpy练习——进阶篇
- 【NumPy基础】100道numpy练习——Apprentice篇
- numpy 基础 —— np.linalg
- numpy基础——ndarray对象属性
- numpy基础——ndarray对象方法
- numpy 基础 —— np.linalg
- numpy基础——ndarray.shape
- numpy入门——基础运算
- numpy 基础 —— np.linalg
- CAAnimation removedOnCompletion=NO 内存泄露
- zabbix
- C/C++ OpenCV滑动条的创建与使用
- Heartbeat+Haproxy实现负载均衡高可用
- 关于linux系统端口查看和占用的解决方案
- Numpy基础功能索引——续
- django表单实现下拉框
- ubuntu16.04 安装配置matlab+python +cuda8.0+cudnn+opencv3.1的caffe环境
- Function和function
- mnist.load_data()遇到IOError: CRC check failed 0xc187cf56L != 0x14c5212fL
- kaka消费者
- NDK开发环境配置(一)
- Spring3系列:Spring AOP——Advice
- 表中有A B C三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。