判断数组内元素返回布尔值,并取出返回值的元素
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]