numpy–科学计算库
-
将第二个值与向量中的每个值进行比较,值相等python解释器返回true,否则返回false
import numpy
vector = numpy.array([5, 10, 15, 20])
vector == 10
—array([False, True, False, False], dtype=bool) -
同1(与矩阵中的每个值相比较)
matrix = numpy.array([
[5, 10, 15],
[20, 25, 30],
[35, 40, 45]
])
matrix == 25
—array([[False, False, False],
[False, True, False],
[False, False, False]], dtype=bool)
- 将vector与值10进行比较,值10生成一个新的布尔向量[False、True、False、False]。它将这个结果赋给equal_to_ten
vector = numpy.array([5, 10, 15, 20])
equal_to_ten = (vector == 10)
print(equal_to_ten)
print(vector[equal_to_ten])
—[False True False False]
[10]
- 表示选取所有的行 逗号隔开 然后取列 取的是第一列(从0开始) 然后直接对这一列的值进行判断 判断这一列
中的元素是否等于25 并将其布尔类型的值传递给second_conlumn_25,然后打印出的second_conlumn_25的结果为一个布尔类型的列表,而把second_conlumn_25当作索引值 我们去寻找有25的这一行 逗号隔开 :表示直接选取这一行的数据 然后打印出来
matrix = numpy.array([
[5, 10, 15],
[20, 25, 30],
[35, 40, 45]
])
second_column_25 = (matrix[:,1] == 25)
print(second_column_25)
print(matrix[second_column_25, :])
—[False True False]
[[20 25 30]]
- 查找当前的这个矩阵中的数既等于10又等于5的数 显然不存在 所以全部输出False
vector = numpy.array([5, 10, 15, 20])
equal_to_ten_and_five = (vector == 10) & (vector == 5)
print(equal_to_ten_and_five)
—[False False False False]
6.查找当前的这个矩阵中的数等于10或者等于5的数,所以输出True True False False
vector = numpy.array([5, 10, 15, 20])
equal_to_ten_or_five = (vector == 10) | (vector == 5)
print(equal_to_ten_or_five)
—[ True True False False]
-
查找出等于10或者等于5的数,替换成50,其余值不变,打印该向量
vector = numpy.array([5, 10, 15, 20])
equal_to_ten_or_five = (vector == 10) | (vector == 5)
vector[equal_to_ten_or_five] = 50
print(vector)
—[50 50 15 20] -
将第二列等于25的值替换成10
matrix = numpy.array([
[5, 10, 15],
[20, 25, 30],
[35, 40, 45]
])
second_column_25 = matrix[:,1] == 25
print(second_column_25)
matrix[second_column_25, 1] = 10
print(matrix)
—[False True False]
[[ 5 10 15]
[20 10 30]
[35 40 45]]
-
我们可以使用ndarray.astype()方法转换数组的数据类型
vector = numpy.array([“1”, “2”, “3”])
print(vector.dtype)
print(vector)
vector = vector.astype(float)
print(vector.dtype)
print(vector)
—<U1
[‘1’ ‘2’ ‘3’]
float64
[ 1. 2. 3.] -
向量求和
vector = numpy.array([5, 10, 15, 20])
print(vector.sum())
—50 -
轴指示我们在哪个维度上执行操作(axis=1表示我们希望对每行执行操作,axis=0表示对每列执行操作)
下面是对矩阵每行进行求和:
matrix = numpy.array([
[5, 10, 15],
[20, 25, 30],
[35, 40, 45]
])
print(matrix.sum(axis=1))
—[ 30 75 120] -
按列求和
matrix = numpy.array([
[5, 10, 15],
[20, 25, 30],
[35, 40, 45]
])
print(matrix.sum(axis=0))
—[60 75 90] -
将缺失值用0表示(mean函数求均值)
world_alcohol = numpy.genfromtxt(“world_alcohol.txt”, delimiter=",")
is_value_empty = numpy.isnan(world_alcohol[:,4])
world_alcohol[is_value_empty, 4] = ‘0’
alcohol_consumption = world_alcohol[:,4]
alcohol_consumption = alcohol_consumption.astype(float)
total_alcohol = alcohol_consumption.sum()
average_alcohol = alcohol_consumption.mean()
print(total_alcohol)
print(average_alcohol)
—1137.78
1.14006012024