zoukankan      html  css  js  c++  java
  • Numpy库的学习(二)

    今天来继续学习一下Numpy库的使用

    接着昨天的内容继续

    在Numpy中,我们如果想要进行一个判断使用“==”

    我们来看下面的代码

    vector = np.array([5,10,15,20,25])
    vector == 10

    我们来看看上面的代码,这段代码表示的是什么意思呢?

    vector == 10 表示的是,当前的array当中所有的元素都会进行判断

    是否等于10

    我们可以看到,运行结果为上图所示,只有第2个值为True 那么这里可以看到是对每一个值都进行了判断

    那么矩阵操作也是一样的

    matrix = np.array([
    [1,2,3],
    [4,5,6],
    [7,8,9],
    ])
    matrix == 5

    可以看到运行结果,只有第2行,第2列值为5的位置,为True,其他都为False

    当然得到的判断结果,是一个布尔类型的

    那么我们如果现在已经对判断熟悉了,我们已经做了判断

    但是我想把这个元素取出来应该如果操作呢?

    vector = np.array([5,10,15,20,25])
    index = (vector == 10)
    print (index)
    print (vector[index])

    我们先将数组,进行判断,让后将这个判断结果存入一个值中,作为一个索引

    打印结果如下

    结果等于10,说明可以帮我们把True返回,False值直接过滤掉

    当然在矩阵操作中也是一样的

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

    Numpy中也有与和或这样的逻辑运算,比我我们要计算

    vector = np.array([5,10,15,20,25])
    equal = (vector == 10)&(vector==5)
    print(equal)

    这里可以看出,与运算中,既要等于10,又要等于5,在返回的结果中,全为False

     需要判断是否同时满足条件

    在看一下或的关系

    vector = np.array([5,10,15,20,25])
    equal = (vector == 10)|(vector==5)
    print(equal)

    结果可以看出,前面两个元素,都满足了或的关系,返回True

    接下来我们说下如何替换满足关系的值

    vector = np.array([5,10,15,20,25])
    equal = (vector == 10)|(vector==5)
    vector[equal]=30
    print(vector)

    将满足条件的值进行替换,返回替换后的向量

    矩阵操作如下

    matrix = np.array([
    [1,2,3],
    [4,5,6],
    [7,8,9],
    ])
    i5 = matrix[:,1]==5
    print(i5)
    matrix[i5,1] = 10
    print(matrix)

    运行上述代码,我们可以将中间行5的值,替换为10

    接下来我们在讲下在Numpy中如何做类型转换的

    vector = np.array([5,10,15,20,25])
    print(vector.dtype)
    print(vector)
    vector = vector.astype(float)
    print (vector.dtype)
    print(vector)

    我们先将一个,类型为int的向量,的dtype值打印出来

    在将这个向量进行astype的转换,转换为float值

    结果可以看到,原来的int32类型,被转换成了float64类型

    在说下,比如我们通常需要进行数学运算,进行最大值, 最小值得求值

    vector = np.array([5,10,15,20,25])
    vector.min()

    取一个最小值

    vector = np.array([5,10,15,20,25])
    vector.max()

    取一个最大值

    如何对矩阵,按照行,或者按照列的方式,进行求和操作

    可以看到,我们指定维度为1,也就是按照行的方式进行一个求和

    matrix = np.array([
    [1,2,3],
    [4,5,6],
    [7,8,9],
    ])
    matrix.sum(axis=1)

    axis =1 为按照行的方式进行求和,axis = 0 按照列的方式进行求和

    好的,今天就先讲到这里,感谢各位阅读~~欢迎点赞转发!下次我们继续讲讲Numpy中的矩阵操作

  • 相关阅读:
    stc单品机的命名规则
    代码导入单片机运行
    openlayers tips
    LeetCode 766. Toeplitz Matrix
    【题集】二叉树的遍历各类题型汇总
    LeetCode 821. Shortest Distance to a Character
    关于C++中vector<vector<int> >的使用
    POJ
    LeetCode#155 Min Stack
    LeetCode#160 Intersection of Two Linked Lists
  • 原文地址:https://www.cnblogs.com/ws17345067708/p/10693553.html
Copyright © 2011-2022 走看看