Numpy-小学笔记

numpy功能:

  • 向量和多维数组的快速运算
  • 标准数学运算
  • 线性代数运算
  • 排序,去重(unique)和集合运算
  • 统计和聚合数据

1.数组的创建
数组相当于python中的列表,但是数组中所有数据类型相同(通常为浮点型或整型)

import numpy as np
#列表转数组
arr = np.array([1,2,3,4,5],float)
#数组转列表
list = arr.tolist()
arr1 = arr#同一个对象
arr2 = arr.copy()#新数组对象
#用一个值填充数组
arr.fill(255)
arr = np.random.permutation(3)###创建一个长度为3,元素值不大于3的随机排列的数组
#normal 函数是从正态分布中抽取一列数
arr = np.random.normal(0,1,5)#创建一个均值为0标准差为1,5个元素的正态分布数组

1

#创建一个服从均匀分布值在0-1范围内(不包含0或1)的 5 个元素的数组
np.random.random(5)

1

#创建一个纬度为2,5*5的单位矩阵,其纬度用参数来制定
np.identity(5,dtype=float)

1

#创建一个第K条对角线为1的矩阵
np.eye(3,k=1,dtype=float)

1

#全零 全1 矩阵
np.ones((2,3),dtype=float)
np.zeros(6,dtype=float)
np.zeros_like(arr)#创建一个跟现有数组类型和纬度都相同的全0数组
np.ones_like(arr)#创建一个跟现有数组类型和纬度都相同的全1数组
***********************************

1


#vstack垂直方向合并一位数组
arr1 = np.array([1,3,2])
arr2 = ap.array([3,4,5])
arr3 = np.vstack([arr1,arr2])
print(arr3)
array([[1, 3, 2],
       [3, 4, 5]])
       

1

***********************************
#创建一个符合均匀分布的2*3型的数组
np.random.rand(2,3)
***********************************

1

#创建一个多元正态分布
# [10,1]均值向量
# [[3,1],[1,4]]是协方差矩阵
#5 要抽取的个数
np.random.multivariate_normal([10,1],[[3,1],[1,4]],size=[5,])
***********************************

2.数组的操作

# 切片
****************************
arr = np.array([2.,3.,5.,6.])
arr[:3]
arr[3]
arr[0]=5

2.数组的操作

****************************
#unique函数
#提取数组中不同的元素
np.unique(arr)
****************************

2.数组的操作

#sort函数与argsort函数
arr 
>array([ 2.,  3., 15.,  6.])
np.sort(arr)
>array([ 2.,  3.,  6., 15.])
np.argsort(arr)#数组的索引用argsort获取
>array([0, 1, 3, 2], dtype=int64)

2.数组的操作

*****************************
#随机排列数组元素
#shuffle
np.random.shuffle(arr)
*****************************

2.数组的操作

#比较两个数组是否相等,返回True or False
np.array_equal(arr,np.array([1,2,3]))
*****************************

2.数组的操作

#多维列表的操作
matrix = np.array([[4.,5.,6.],[2,3,6]],float)
martix[0,0]
martix[0,2]
#对数组的各维进行切片操作使用英文冒号:,冒号前后为位于起始位置和结束位置的元素的索引
matrix [1:2,2:3]
>array([[6.]])
#仅用冒号不用数字表示冒号所在轴上的所有元素都在切片范围之内
matrix [1,:]
> array([2., 3., 6.])
matrix[:,2]
> array([6., 6.])
matrix[-1:,-2:]
>array([[3., 6.]])
*************************************************************

2.数组的操作

#flatten可以将多维数组变为一维数组:
arr = np.array([[10,29,23],[24,25,46]],float)
arr
>array([[10., 29., 23.],
       [24., 25., 46.]])
arr.flatten()
>array([10., 29., 23., 24., 25., 46.])
************************************************************

2.数组的操作

#shape属性
arr.shape
#dtype属性
arr.dtype
#dtype属性类型的转换
int_arr = matrix.astype(np.int32)
int_arr.dtype
> dtype('int32')
************************************************************

2.数组的操作

#len函数返回第一维的长度
arr = np.array([[4,5,6],[2,3,6]],float)
len(arr)
>2
*************************************************************

2.数组的操作

#关键字in,类似于Python中 in 的用法,可用来判断数组是否包含某个元素
arr = np.array([[4,5,6],[1,2,3]],float)
2 in arr
>True
********************************************************

未完待续

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值