Python numpy的简单操作(二)

判断数组内元素返回布尔值,并取出返回值的元素

vec = numpy.array([5, 10, 15, 20])
vec == 10
equal = (vec == 10)
print equal
array([False,  True, False, False])
print(vec[equal])
[10]

判断矩阵内元素返回布尔值,并取出返回值的元素

matrix = numpy.array([
                [5, 10, 15], 
                [20, 25, 30],
                [35, 40, 45]
             ])
second_column_40 = (matrix[:,1] == 40)
print (second_column_40)
print(matrix[second_column_40, :])
[False False  True][[35 40 45]
second_column_40 = (matrix[:,1] == 40) 
代表了矩阵取所有行,并判断第一列等于40的值。
print(matrix[second_column_40, :])
代表了矩阵取40这一行所有列元素。

判断矩阵之间的逻辑关系  

vec = numpy.array([5, 10, 15, 20])
equal_to_ten_and_five = (vec == 5) & (vect
vec = numpy.array([5, 10, 15, 20])
equal_to_ten_or_five = (vec == 5) | (vec == 10)
print (equal_to_ten_or_five)
[ True  True False False]== 10)
print(equal_to_ten_and_five)
[False False False False]

令等于 5 或10 的值变为自己想要的值

vec = numpy.array([5, 10, 15, 20])
equal_to_ten_or_five = (vec == 5) | (vec == 10)
vec[equal_to_ten_or_five] = 50
print(vec)
[50 50 15 20]
矩阵形式的操作
matrix = numpy.array([
            [5, 10, 15], 
            [20, 25, 30],
            [35, 40, 45]
         ])
second_column_40 = matrix[:,1] == 40
print (second_column_40)
matrix[second_column_40, 1] = 20
print (matrix)_40, 1] = 20
print (matrix)
[False False  True]
[[ 5 10 15]
 [20 25 30]
 [35 20 45]]

改变数据类型

vec = numpy.array(["1", "2", "3"])
print (vec.dtype)
print (vec)
vec = vec.astype(float)
print (vec.dtype)
print (vec)
<U1
['1' '2' '3']
float64
[1. 2. 3.]
矩阵行求和
matrix = numpy.array([
                [5, 10, 15], 
                [20, 25, 30],
                [35, 40, 45]
             ])
matrix.sum(axis=1)
[ 30,  75, 120]
矩阵列求和
matrix = numpy.array([
                [5, 10, 15], 
                [20, 25, 30],
                [35, 40, 45]
             ])
matrix.sum(axis=0)
[60, 75, 90]





猜你喜欢

转载自blog.csdn.net/weixin_41701299/article/details/79359822