数组算术

任何两个等尺寸数组之间的算术操作都应用了逐元素操作的方式。

arr1 = np.array([[1,2,3],[4,5,6]])
arr2 = np.array([[4,2,1],[7,2,4]])
print(arr1 + arr2)
print('---分隔符---')
print(1/arr1)
print('---分隔符---')
print(arr1 > arr2)

索引与切片

list1 = list(range(10))
array1 = np.array(list_1)
list1_slice = list1[5:8]
array1_slice = array1[5:8]
array1_copy = array1.copy()
list1_slice[1] = 12
array1_slice[1] = 12
array1_copy[-1] = 20
print(list1) #out:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(array1) #out:[ 0 1 2 3 4 8 12 7 8 9]
  • 数组的切片是原数组的视图,数据并非被复制,任何对于视图的修改都会反映到数组上。
  • 列表的切片则是复制原列表,在切片中更改不会影响原列表。
  • 想要数组的切片的拷贝,可以显示的复制该数组,例如array1_copy = array1.copy()

多维数组

arr = np.array([[1,2,3],[4,5,6],[7,8,9]])
print(arr[1]) #out:[4 5 6]
print(arr[1][1]) #out:5
print(arr[1,1]) #out:5
print(arr[1:,1]) #out:[5 8]
print(arr[1:,1:])
#[[5 6]
# [8 9]]

布尔索引

arr_b = np.array([False,True,True,False])
arr_a = np.arange(4)
arr_a[arr_b] #out:array([1, 2])
#取反操作
arr_a[~arr_b] #out:array([0, 3])
  • 布尔索引可以使用逻辑运算符 & 合 |
  • 也可以使用<  <=  >  >=   = !=

神奇索引

  • 神奇索引与切片不同,总是将数据复制到一个新的数组中

数组转置与换轴

针对二维

NumPy进阶的更多相关文章

  1. Numpy进阶操作

    目录 1. 如何获取满足条设定件的索引 2. 如何将数据导入和导出csv文件 3. 如何保存和加载numpy对象 4. 如何按列或行拼接numpy数组 5. 如何按列对numpy数组进行排序 6. 如 ...

  2. Python学习之路:NumPy进阶

    import numpy as np; #创建数组的四种办法 ##可以传入任何类数组 a = np.array([0,1,2,3,4]); b = np.array((0,1,2,3,4)); c = ...

  3. Numpy——进阶篇

    impoort numpy as np arr=np.arange(10) #输出奇数 arr[arr%2==1] #将arr中的所有奇数替换为-1,而不改变arr out=np.where(arr% ...

  4. python -- 数据可视化(二)

    python -- 数据可视化 一.Matplotlib 绘图 1.图形对象(图形窗口) mp.figure(窗口名称, figsize=窗口大小, dpi=分辨率, facecolor=颜色) 如果 ...

  5. Numpy库进阶教程(一)求解线性方程组

    前言 Numpy是一个很强大的python科学计算库.为了机器学习的须要.想深入研究一下Numpy库的使用方法.用这个系列的博客.记录下我的学习过程. 系列: Numpy库进阶教程(二) 正在持续更新 ...

  6. Numpy的进阶学习

    前言: 在学习cs231n编写课后作业代码过程中 .发现自己对计算的向量化vectorized不是很懂,编写不出代码.对numpy的库也只是停留在表面 Numpy Numpy学习库链接 1.numpy ...

  7. numpy教程06---ndarray的进阶操作

    欢迎关注公众号[Python开发实战], 获取更多内容! 工具-numpy numpy是使用Python进行数据科学的基础库.numpy以一个强大的N维数组对象为中心,它还包含有用的线性代数,傅里叶变 ...

  8. Matlab 进阶学习记录

    最近在看 Faster RCNN的Matlab code,发现很多matlab技巧,在此记录: 1. conf_proposal  =  proposal_config('image_means', ...

  9. NumPy的详细教程

    原文  http://blog.csdn.net/lsjseu/article/details/20359201 主题 NumPy 先决条件 在阅读这个教程之前,你多少需要知道点python.如果你想 ...

随机推荐

  1. luogu 3857 [TJOI2008]彩灯 线性基

    可以将每一个开关控制的灯的序列看作是0/1组成的二进制. 由于灯的开和关是满足异或的性质的,所以直接求一下线性基大小即可. 答案为 $2^{size}.$ #include <cstdio> ...

  2. 线段树初步——转载自ljc20020730

    线段树初步   线段树模板1:https://www.luogu.org/problem/show?pid=3372 线段树模板2:https://www.luogu.org/problem/show ...

  3. AtCoder Dwango Programming Contest V E

    题目链接:https://dwacon5th-prelims.contest.atcoder.jp/tasks/dwacon5th_prelims_e 题目描述: 给定一个大小为\(N\)的数组\(A ...

  4. JavaWeb_(Struts2框架)参数传递之接收参数与传递参数

    此系列博文基于同一个项目已上传至github 传送门 JavaWeb_(Struts2框架)Struts创建Action的三种方式 传送门 JavaWeb_(Struts2框架)struts.xml核 ...

  5. [CSP-S模拟测试]:B(DP+数学)

    题目传送门(内部题45) 输入格式 第一行$3$个整数$n,m,P$.第二行$m$个整数,表示$m$次询问. 输出格式 一行$m$个整数表示答案. 样例 样例输入1: 2 4 40 1 2 3 样例输 ...

  6. C++入门经典-例8.5-多重继承

    1:C++允许子类从多个父类继承公有的和受保护的成员,这称为多重继承. 2:多重继承的定义.多重继承有多个基类名称标识符,其声明形式如下: class 派生类名标识符:[继承方式] 基类名标识符1,. ...

  7. Java 注解方式校验请求参数

    1. 参数校验常用注解          注解 验证的数据类型 备注                              Null   任意类型  参数值必须是 Null  NotNull   ...

  8. MySQL datetime 和 timestamp 的区别

    [转载]:MySQL中有关TIMESTAMP和DATETIME的总结 1. datetime 和 timestamp 的相同点 两者都可以用来表示YYYY-MM-DD HH:MM:SS[.fracti ...

  9. idea 远程代码调试

    声明一点:重要的事情说3遍 本地代码和服务器代码必须一致 本地代码和服务器代码必须一致 本地代码和服务器代码必须一致 第一步,创建remote 第二步.填写服务器信息 第三部.tomcat/bin/s ...

  10. (二)C语言之常量