python自学成才之路 numpy 基础

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/u012062455/article/details/100431667

本文的目的是了解numpy以及numpy的一些基本操作

创建numpy

1.直接使用np.array传入python数组的方式创建

import numpy as np 
my_array = np.array([1, 2, 3, 4, 5]) 
print(my_array)

array = [1,2,3,4,5,6]
my_array2 = np.array(array) 
print(my_array2)


[1 2 3 4 5]
[1 2 3 4 5 6]

2.使用np自带的函数来创建

2.1 ones函数 创建元素都是1的np数组
my_array = np.ones((5))
print(my_array)

[1. 1. 1. 1. 1.]

2.2 zeros函数 创建元素都是0的np数组

my_array = np.zeros((5))
print(my_array)

[0. 0. 0. 0. 0.]

2.3random函数 创建随机数组

my_array = np.random.random((5))
print(my_array)

[0.51508462 0.8339307  0.7502982  0.47801579 0.98034439]

查看numpy

1.使用shape函数查看np数组形状

my_array = np.ones((5))
print(my_array.shape)

my_array = np.ones((5,3))
print(my_array.shape)

my_array = np.ones((5,3,2))
print(my_array.shape)

(5,)
(5, 3)
(5, 3, 2)

使用shape函数得到的数组形状是一个元组,前面创建的都是一维数组,看起来很直观,那这种多维数组看起来是什么样子呢?

1.1二维数组
my_array = np.ones((3,2))
print(my_array)

[[1. 1.]
 [1. 1.]
 [1. 1.]]

这个二维数组就是一个大的数组里面包含三个小的有两个元素的一维数组

1.2 三维数组
my_array = np.ones((5,3,2))
print(my_array)

[[[1. 1.]
  [1. 1.]
  [1. 1.]]

 [[1. 1.]
  [1. 1.]
  [1. 1.]]

 [[1. 1.]
  [1. 1.]
  [1. 1.]]

 [[1. 1.]
  [1. 1.]
  [1. 1.]]

 [[1. 1.]
  [1. 1.]
  [1. 1.]]]

这个三维数组就是一个大的数组里面包含五个(3,2)的二维数组

1.3 多维数组

my_array = np.ones((n1,n2,n3,n4,…))
以此类推,更高维的np数组其实就是一个大的数组中包含n1个(n2,n3,n4,…)多维数组

2.获取np数组中的某个元素

my_array = np.array([
    [[1,2,3],[4,5,6]],
    [[7,8,9],[10,11,12]],
    [[13,14,15],[16,17,18]]
])
print(my_array.shape)

(3, 2, 3)

获取16这个元素,他在最外层的第三个元素里,第二层的第二个元素里,最后一层的第一个元素里,所以位置就是[2,1,0],numpy中数组下标也是从0开始的。

修改numpy

将上面的16修改成17

my_array[2,1,0] = 17
my_array[2,1,0]

17

基本运算

numpy数组之间也可以做加减乘除运算,但是前提是,这些运算的数组形状必须一样。

my_array = np.array([
    [[1,2,3],[4,5,6]],
    [[7,8,9],[10,11,12]],
    [[13,14,15],[16,17,18]]
])
my_array2 = np.array([
    [[1,2,3],[4,5,6]],
    [[7,8,9],[10,11,12]],
    [[13,14,15],[16,17,18]]
])
# 加法运算
print(my_array + my_array2)

[[[ 2  4  6]
  [ 8 10 12]]

 [[14 16 18]
  [20 22 24]]

 [[26 28 30]
  [32 34 36]]]

# 减法运算
print(my_array - my_array2)

[[[0 0 0]
  [0 0 0]]

 [[0 0 0]
  [0 0 0]]

 [[0 0 0]
  [0 0 0]]]

# 乘法运算
print(my_array * my_array2)

[[[  1   4   9]
  [ 16  25  36]]

 [[ 49  64  81]
  [100 121 144]]

 [[169 196 225]
  [256 289 324]]]

# 除法运算
print(my_array / my_array2)

[[[1. 1. 1.]
  [1. 1. 1.]]

 [[1. 1. 1.]
  [1. 1. 1.]]

 [[1. 1. 1.]
  [1. 1. 1.]]]
本文为 转载文章,转载自csdn 原作者:我是李超人

来源:https://blog.csdn.net/u012062455/article/details/100431667

  • 微信
  • 扫描二维码添加微信
  • 博客交流群
  • 来这里水过美好的一天
  • weinxin

发表评论 取消回复

正在加载验证码......