Myluzh Blog

Strive to become a dream architect.

Python numpy 数组间运算与广播机制

2023-7-20 myluzh Python

0x01 数组与数运算 import numpy as np arr = np.array([[1, 2, 3, 2, 1, 4], [5, 6, 1, 2, 3, 1]]) """ arr + 1 array([[2, 3, 4, 3, 2, 5], [6, 7, 2, 3, 4, 2]]) arr / 2 array([[0.5, 1. , 1.5, 1. , 0.5, 2. ], [2.5, 3. , 0.5, 1. , 1.5, 0.5]]) """ # 可以对比python列表的运算,看出区别 a = [1, 2, 3, 4, 5] """ a*3 Out[3]: [1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5] """ 0x02 数组与数组运算 数组在进行矢量化运算时,要求数组的形状是相等的。当形状不相等的数组执行算术运算的时候,就会出现广播机制,该机制会对数组进行扩展,使数组的shape属性值一样,这样,就可以进行矢量化运算了。下面通过一个例子进行说明: import numpy as np ...

阅读全文>>

标签: python numpy

评论(0) (288)

Python numpy ndarray运算

2023-7-20 myluzh Python

0x01 逻辑运算 import numpy as np # 生成40-100的10行5列数据 arr1 = np.random.randint(40, 100, (10, 5)) """ #查看下arr1 arr1 Out[3]: array([[95, 65, 74, 76, 64], [95, 62, 74, 81, 59], [48, 93, 87, 40, 63], [99, 68, 57, 95, 51], [75, 78, 43, 50, 49], [75, 74, 86, 50, 98], [62, 61, 53, 40, 73], [58, 63, 99, 76, 85], [52, 44, 65, 77, 51], [90, 74, 93, 78, 46]]) """ # 取6行开始取,每行取0-5列 arr2 = arr1[6:, 0:5] """ # 查看下arr2 arr2 Out[4]: array([[62, 61...

阅读全文>>

标签: python ndarray

评论(0) (283)

Python numpy 数组基本操作(索引与切片用法、改变形状、修改类型、去重)

2023-7-14 myluzh Python

0x01 数组索引与切片用法 import numpy as np # (2)二维数组 # 首先生成一个二维数组 arr2 = np.random.uniform(-1, 2, size=(5, 5)) """ # 查看下arr2 arr2 Out[3]: array([[ 1.05865188, 1.18597622, -0.81279676, 1.79444952, 0.71910054], [-0.62385763, -0.61713265, 0.94918552, -0.24394799, 1.81343914], [-0.71354709, -0.93964984, 0.96237785, 1.23973639, 0.11628672], [ 0.02623292, 1.68481857, -0.79207649, 0.79625302, -0.32104851], [ 0.75240426, 0.15582726, -0.87529045, -0.28858853, 0.01173709]]) # 只要...

阅读全文>>

标签: python numpy 数组

评论(0) (281)

Python numpy 生成随机数组(正态分布与均匀分布)

2023-7-14 myluzh Python

0x01 什么是正态分布 正态分布是一种概率分布。正态分布是具有两个参数u和o的连续型随机变量的分布,第一参数u是服从正态分布的随机变量的均值,第二个参数o是此随机变量的方差,所以正态分布记作N(μ,σ)。 0x02 生成正态分布的随机数组 import numpy as np import matplotlib.pyplot as plt # 生成均值为1.75,标准差为1的正态分布数据,100000000个 x1 = np.random.normal(1.75, 1, 10000000) # 绘图 plt.figure(figsize=(18, 8), dpi=100) # 创建画布 plt.hist(x1, 1000) # 绘制直方图 plt.show() # 显示图像 0x03 生成均匀分布的随机数组 import numpy as np import matplotlib.pyplot as plt # 生成均匀分布的随机数,最低-1最高1,100000000个 x2 = np.random.uniform(-1, 1, 100000000) p...

阅读全文>>

标签: python numpy 随机数组 正态分布 均匀分布

评论(0) (248)

Python numpy 生成01数组、固定数组

2023-7-14 myluzh Python

0x01 生成01数组 import numpy as np # 生成4行6列0数组 ones = np.ones([4, 6]) """ 查看下zeros Out[3]: array([[0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0.], [0., 0., 0., 0., 0., 0., 0.]]) """ # 生成3行7列1数组 zeros = np.zeros([3, 7]) """ 查看下ones Out[4]: 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.]]) """ 0x02 从现有数组生成(浅拷贝np.asarray与深拷贝np.arrary的区别) import numpy as np a = np.array([[1, 2, 3], [4, 5, 6]]) a1 = np.array(a) ...

阅读全文>>

标签: python numpy 01数组 固定数组

评论(0) (160)

Python numpy ndarray介绍

2023-7-13 myluzh Python

0x01 ndarray属性 属性名字 属性解释 ndarray.shape 数组维度的元组 ndarray.ndim 数组维数 ndarray.size 数组中的元素数量 ndarray.itemsize 个数组元素的长度 (字节) ndarray.dtype 数组元素的类型 0x02 ndarray形状 import numpy as np a = np.array([[1,2,3],[4,5,6]]) b = np.array([1,2,3,4]) c = np.array([[[1,2,3], [4,5,6]],[[1,2,3],...

阅读全文>>

标签: python numpy ndarray

评论(0) (161)