本文的目的是了解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
转载:https://blog.csdn.net/u012062455/article/details/100431667
查看评论