Numpy笔记

numpy几个属性:
ndim:维度
shape:行数和列数
size:元素个数

numpy的创建:array:
关键字:
array:创建数组
dtype:指定数据类型
zeros:创建数据全为0  ---zeros(3,5)---3行5列全为0
ones:创建数据全为1   ---ones(3,5)---3行5列全为1
empty:创建数据接近0
arange:指定范围创建连续“数组”  --arange(10,20,2) # 10-19 的数据,2步长
linspace:创建线段型数据

arange(12):从0到11的数组

reshape:转变维度
arange(12).reshape((3,4))    # reshape :3行4列,0到11

linspace(1,10,20)    # 开始端1,结束端10,且分割成20个数据,生成线段

[ True  True  True False]
基本运算:
+-*/

c=b**2  :b的二次方

Numpy中具有很多的数学函数工具  np.sin,np.cos ....   

print(b<4)  :用于判断这个数组小与4返回一个布尔类型列表

Numpy中的矩阵乘法分为两种, 其一是对应元素相乘  a*b,其二是标准的矩阵乘法运算---->dot(a,b)

sum(), min(), max(),dot

对行或者列进行查找运算,就需要在上述代码中为 axis 进行赋值。 
当axis的值为0的时候,将会以列作为查找单元, 当axis的值为1的时候,将会以行作为查找单元
np.sum(a,axis=1))  ----在行求和



argmin() 和 argmax() 两个函数分别对应着求矩阵中最小元素和最大元素的索引

平均值:np.mean(a)/a.mean()    np.average(a)

累加函数:matlab中的cumsum()累加函数类似,Numpy中也具有cumsum()函数 ----》 后一个数是前一个数加上本位的数

累差运算函数:np.diff(a)

nonzero()函数  ---》函数将所有非零元素的行与列坐标分割开,重构成两个分别关于行和列的矩阵
非零元素的行数  非零元素得列数

转置:用于矩阵的运算
print(np.transpose(A))    
print(A.T)

clip()函数
clip(Array,Array_min,Array_max)  --》指定小与min的数都Array_min,大于max都为Array_max
Array指的是将要被执行用的矩阵,
而后面的最小值最大值则用于让函数判断矩阵中元素是否有比最小值小的或者比最大值大的元素,
并将这些指定的元素转换为最小值或者最大值

索引:
A[1][1]/A[1,1]  -》第二行二列

切片操作

flatten是一个展开性质的函数,将多维的矩阵进行展开成1行的数列。而flat是一个迭代器,本身是一个object属性。

A = np.arange(3,15).reshape((3,4))
 
print(A.flatten())   
# array([3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14])


for item in A.flat:
print(item)
#3
4
5...
 
合并:
np.vstack() ---属于一种上下合并,即对括号中的两个整体进行对应操
np.hstack()   属于左右合并

把一个横向的序列转为矩阵
A = [1,2,3]
A[np.newaxis,:]  ---->A数列在行加维度

当你的合并操作需要针对多个矩阵或序列时,
借助concatenate函数可能会让你使用起来比前述的函数更加方便:
np.concatenate()
np.concatenate((A,B,B,A),axis=0)  axis=1:在纵向合并
 
分割:
纵向分割:  np.split(A, 2, axis=1) 
横向分割:   np.split(A, 2, axis=0)
不等量分割:   np.array_split(A, 2, axis=0) 
其他分割:vsplit,hsplit:

np.vsplit(A, 3) #等于 print(np.split(A, 3, axis=0))
# [array([[0, 1, 2, 3]]), array([[4, 5, 6, 7]]), array([[ 8,  9, 10, 11]])]
np.hsplit(A, 2) #等于 print(np.split(A, 2, axis=1))


拷贝:
copy() 的赋值方式没有关联性 


其他一些函数:
numpy.random.normal(loc=0.0, scale=1.0, size=None);
loc:float
此概率分布的均值(对应着整个分布的中心centre)
scale:float
此概率分布的标准差(对应于分布的宽度,scale越大越矮胖,scale越小,越瘦高)
size:int or tuple of ints
输出的shape,默认为None,只输出一个值
np.random.uniform()  从一个均匀分布[low,high)中随机采样,注意定义域是左闭右开,即包含low,不包含high.
    
    low: 采样下界,float类型,默认值为0;
    high: 采样上界,float类型,默认值为1;
    size: 输出样本数目,为int或元组(tuple)类型,例如,size=(m,n,k), 则输出m*n*k个样本,缺省时输出1个值。

numpy.random.randn(2,4)是从标准正态分布中返回一个2行四列的矩阵
Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值