python自学成才之路 numpy 基础

本文的目的是了解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.]]]




本人是做大数据开发的,在微信上开了个个人号,会经常在上面分享一些学习心得,原创文章都会首发到公众号上,感兴趣的盆友可以关注下哦!
在这里插入图片描述
备注:微信公众号搜索‘大数据入坑指南’

我的博客即将同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=1r9wv5s94iqsd

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值