numpy模块 02
<title>numpy学习</title>
</div>
</div>
</div>
</body>
In [121]:
import numpy as np
为啥使用numpy¶
计算购物车的总共价格¶
In [2]:
shop_car = [2,3,10,5]
shop_price = [10,200,150,50]
In [3]:
shop_car_np = np.array(shop_car)
In [4]:
shop_price_np = np.array(shop_price)
In [5]:
shop_car_np
Out[5]:
In [6]:
shop_price_np
Out[6]:
In [8]:
np.sum(shop_car_np * shop_price_np) #### 向量运算
Out[8]:
In [123]:
shop_car_np * 7 #### 矢量运算
Out[123]:
In [125]:
shop_car * 7
Out[125]:
常见属性¶
一维数组¶
In [10]:
arr = np.array([1,2,3,4,5,6])
In [12]:
arr #### 简单的ndarray一维数组
Out[12]:
In [14]:
arr.dtype #### 数组的数据类型
Out[14]:
In [16]:
arr.size ##### 数组元素的个数
Out[16]:
In [17]:
arr.ndim #### 数组的维度
Out[17]:
In [18]:
arr.shape
Out[18]:
二维数组¶
In [19]:
arr2 = np.array([[1,2,3,4,5], [6,7,8,9,10]])
In [20]:
arr2
Out[20]:
In [21]:
arr2.ndim
Out[21]:
In [22]:
arr2.shape
Out[22]:
In [23]:
arr2.T #### 高维数组转置
Out[23]:
数据类型转换¶
In [24]:
arr
Out[24]:
In [25]:
arr.dtype
Out[25]:
In [26]:
arr.astype('float') #### 强制转换指定的数据类型
Out[26]:
ndarray数组的创建方式¶
In [27]:
arr3 = np.array([1,2,3,4,5,6], dtype='float')
In [28]:
arr3
Out[28]:
In [29]:
np.arange(1,10) ### numpy版的arange
Out[29]:
In [30]:
np.arange(10)
Out[30]:
In [34]:
np.linspace(1,10, num=5, endpoint=False) ##### 均匀分配多少份
Out[34]:
In [36]:
np.linspace? #### 查看函数的使用方法
In [37]:
np.zeros?
In [38]:
np.zeros(5)
Out[38]:
In [40]:
np.zeros((2,3), dtype='int')
Out[40]:
In [41]:
np.ones(5)
Out[41]:
In [42]:
np.ones((3,4))
Out[42]:
In [43]:
np.empty?
In [46]:
np.empty((2,3))
Out[46]:
In [47]:
np.eye?
In [51]:
np.eye(5, dtype='int') ### 默认生成5行5列的数组, 并且数组的对角线默认是1
Out[51]:
ndarray的索引¶
一维数组¶
In [56]:
arr
Out[56]:
In [58]:
#### 在列表中怎么通过索引获取值,在这里也是一样的
arr[2]
Out[58]:
二维数组¶
In [59]:
arr2
Out[59]:
In [61]:
arr2[0,2] ##### 逗号前面是行索引, 逗号后面是列索引
Out[61]:
切片¶
一维数组¶
In [62]:
arr
Out[62]:
In [76]:
arr[0:-1]
Out[76]:
二维数组¶
In [65]:
arr2
Out[65]:
In [74]:
arr2[:,1:3] ##### 和索引的使用方法一致, 逗号前面是行索引 , 后面是列索引
Out[74]:
In [75]:
arr2[:, :]
Out[75]:
布尔型索引¶
In [77]:
###查询arr中大于4的所有的数据
arr
Out[77]:
In [78]:
###查询arr中大于4的所有的数据
arr > 4
Out[78]:
In [79]:
arr[arr>4] ##### 布尔型索引
Out[79]:
In [80]:
arr2
Out[80]:
In [82]:
arr2[arr2 > 8]
Out[82]:
通用函数¶
In [84]:
a = -4
np.abs(a)
Out[84]:
In [85]:
np.ceil(4.3) #### 向上取整
Out[85]:
In [86]:
np.floor(4.6) #### 向下取整
Out[86]:
In [87]:
np.rint(4.6)
Out[87]:
In [88]:
np.rint(4.4)
Out[88]:
In [89]:
np.modf(5.6)
Out[89]:
In [90]:
## isnan ### 判断某一个数是否是 nan === not a number (不是一个数)
np.nan
Out[90]:
In [91]:
arr
Out[91]:
In [94]:
np.sum(arr)
Out[94]:
In [95]:
np.cumsum(arr) #### 累加
Out[95]:
In [96]:
arr
Out[96]:
In [97]:
np.min(arr)
Out[97]:
In [98]:
np.max(arr)
Out[98]:
In [99]:
np.argmin(arr)
Out[99]:
随机数¶
In [100]:
np.random.rand(10) ### 随机生成10个0-1之间的数字
Out[100]:
In [106]:
np.random.randint(5)
Out[106]:
In [109]:
np.random.choice(5,3) ### 随机生成3个 0-5 之间的数
Out[109]:
In [110]:
np.random.shuffle?
In [111]:
arr
Out[111]:
In [112]:
np.random.shuffle(arr) #### 打乱给定的一个数组
In [113]:
arr
Out[113]:
In [114]:
arr
Out[114]:
In [119]:
arr.reshape(3,2) #### 改变一维数组的形状成二维数组
Out[119]:
In [ ]:
numpy模块第二部分:numpy模块 03
浙公网安备 33010602011771号