Pysci,Numpy

first step

首先要学习py的一些有用的开源包,方便编写代码

  • Numpy
    区别于matlab,py更多的使用array数组。
  1. index的的起始位置为0.
  2. 更多的使用refence,而不是copy传参
  3. Numpy中的class matrix是class array的一个子集
  4. Numpy的rank函数,当应用于数组类型时返回的是N 维的数组。但是应用于matrix函数时返回的是N×1的矩阵类型的返回类型。
  5. shape = N×1,1×N,N。代表的是不一样的类型。

slicing

有两种方法来获取数组中的某一列数据:1. 使用整数和slice混合的方法将会得到更小的rank。2. 仅使用slice这种方法会得到跟原来数组一样rank的数组,因为slicing 访问数组会返回比末尾范围小一的数组值。

import numpy as np
a = np.array([[1,2,3,4], [5,6,7,8], [9,10,11,12]])
row_r1 = a[1, :]  # rank =1, shape = (4,)
row_r2 = a[1:2, :] # rank =2 ,shape = (1, 4)
  • integer indexing
print(a[[0, 1, 2], [0, 1, 0]]) #通过元素来访问数组
print(np.array([a[0, 0], a[1, 1], a[2, 0] ] ) ) # 另外一种方法

trick :小技巧

b= np.array([0, 2, 0, 1])
print(a[np.arange(4), b])# 通过定义数组来访问指定的integer slicing。

通过bool值来筛选数组

a = np.array([ [1, 2 ], [3, 4], [5, 6]])
bool_idx = (a > 2)
print(bool_idx) # 输出由判决式(true,false)构成的数组。
print(a[bool_idx])# 通过判决式构成的数组来indexing 数组
#可以得到满足条件的元素组成的rank =1 的数组
print(a[a > 2])# 简化版
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 来源:NumPy Tutorial - TutorialsPoint 译者:飞龙 协议:CC BY-NC-SA 4...
    布客飞龙阅读 33,555评论 6 97
  • NumPy是Python中关于科学计算的一个类库,在这里简单介绍一下。 来源:https://docs.scipy...
    灰太狼_black阅读 1,331评论 0 5
  • 先决条件 在阅读这个教程之前,你多少需要知道点python。如果你想从新回忆下,请看看Python Tutoria...
    舒map阅读 2,725评论 1 13
  • 一.NumPy的引入 标准安装的Python中用列表(list)保存一组值,可以用来当作数组使用,不过由于列...
    wlj1107阅读 1,135评论 0 2
  • 我也曾见到一人满心欢喜 却原来被表象所欺
    叶闲阅读 164评论 0 1

友情链接更多精彩内容