Numpy 数组简单操作
- 创建一个2*2的数组,计算对角线上元素的和
import numpy as np
a = np.arange(4).reshape(2,2)
print (a)
#[[0 1]
# [2 3]]
n1 = a[0,0]
print (n1)
# 0
n2 = a[0,1]
print (n2)
# 1
n3 = a[1,0]
print (n3)
# 2
n4 = a[1,1]
print (n4)
# 3
sum_1 = n1 + n3
print (sum_1)
# 2
sum_2 = n2 + n4
print (sum_2)
# 4
- 创建一个长度为9的一维数据,数组元素0到8。将它重新变为3*3的二维数组
import numpy as np
b1 = np.arange(9)
print (b1)
# [0 1 2 3 4 5 6 7 8]
b2 = b1.reshape(3,3)
print (b2)
#[[0 1 2]
# [3 4 5]
# [6 7 8]]
- 创建两个33的数组,分别将它们合并为36、6*3的数组后,拆分为3个数组(维数不限定)
import numpy as np
c1 = np.arange(9).reshape(3,3)
print (c1)
#[[0 1 2]
# [3 4 5]
# [6 7 8]]
c2 = 3*c1
print (c2)
#[[ 0 3 6]
# [ 9 12 15]
# [18 21 24]]
c3 = np.hstack((c1,c2))
print (c3)
#[[ 0 1 2 0 3 6]
# [ 3 4 5 9 12 15]
# [ 6 7 8 18 21 24]]
c4 = np.vstack((c1,c2))
print (c4)
#[[ 0 1 2]
# [ 3 4 5]
# [ 6 7 8]
# [ 0 3 6]
# [ 9 12 15]
# [18 21 24]]
c5 = np.hsplit(c3,3)
print (c5)
#[array([[0, 1],
# [3, 4],
# [6, 7]]), array([[ 2, 0],
# [ 5, 9],
# [ 8, 18]]), array([[ 3, 6],
# [12, 15],
# [21, 24]])]
c6 = np.vsplit(c4,3)
print (c6)
#[array([[0, 1, 2],
# [3, 4, 5]]), array([[6, 7, 8],
# [0, 3, 6]]), array([[ 9, 12, 15],
# [18, 21, 24]])]
- 说说numpy数组的优点
NumPy 是高性能科学计算和数据分析的基础包。
NumPy数组在数值运算方面的效率优于Python提供的list容器。使用NumPy可以在代码中省去很多循环语句,因此其代码比等价的Python代码更为简洁。