Numpy 数组简单操作

  1. 创建一个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
  1. 创建一个长度为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]]
  1. 创建两个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]])]
  1. 说说numpy数组的优点

NumPy 是高性能科学计算和数据分析的基础包。

NumPy数组在数值运算方面的效率优于Python提供的list容器。使用NumPy可以在代码中省去很多循环语句,因此其代码比等价的Python代码更为简洁。

posted @ 2017-03-18 10:49  xie仗剑天涯  阅读(892)  评论(0编辑  收藏  举报