首页 > 其他分享 >numpy学习笔记

numpy学习笔记

时间:2023-02-10 19:03:26浏览次数:43  
标签:arr False dtype 笔记 学习 True np array numpy

numpy基本概念:

一个很方便的进行矩阵数组相关操作的库

一个数组所包含的信息是非常多的,我们也可以用这样的多的内容进行计算

import numpy as np

a_list= [1,2,2,3]

a_nparry=np.array(a_list)

a_nparry[-2:]

#矩阵格式

a_array=np.array([
    [1,2,3],
    [2,3,4],
    [3,4,5]
])

d=a_array.shape
e=a_nparry.size
f=a_array.ndim

g=a_array[1,2]#索引
a_array[1,2]=2#赋值
h=a_array[1]
j=a_array[:,1]#第二列
j=a_array[0,0:2]#第0行0到2
pass

a_array
array([[1, 2, 3],
       [2, 3, 2],
       [3, 4, 5]])
a_array2=a_array
a_array2[1,2]=1000
a_array2
array([[   1,    2,    3],
       [   2,    3, 1000],
       [   3,    4,    5]])
a_array
array([[   1,    2,    3],
       [   2,    3, 1000],
       [   3,    4,    5]])
a_array2=a_array.copy()
a_array2[1,1]=10000
a_array
array([[   1,    2,    3],
       [   2,    3, 1000],
       [   3,    4,    5]])

a_array2
array([[    1,     2,     3],
       [    2, 10000, 10000],
       [    3,     4,     5]])
a_arr=np.arange(0,100,10)
a_arr
array([ 0, 10, 20, 30, 40, 50, 60, 70, 80, 90])
mask=np.array([0,1,0,0,1,1,0,1,1,0],dtype=bool)
mask
array([False,  True, False, False,  True,  True, False,  True,  True,
       False])
a_arr[mask]#记住这个是中括号
array([10, 40, 50, 70, 80])
random_array=np.random.rand(10)
random_array
array([0.33437899, 0.8534622 , 0.52060191, 0.1407311 , 0.03577722,
       0.14826917, 0.11554851, 0.03838209, 0.11986814, 0.53189967])
mask=random_array > 0.5
mask
array([False,  True,  True, False, False, False, False, False, False,
        True])
a_arr[mask] # 这样就可以选出我想要符合条件的值
array([10, 20, 90])
b_arr=np.array([10,20,30,60,70,90])
b_arr>50
array([False, False, False,  True,  True,  True])
np.where(b_arr>50)
(array([3, 4, 5], dtype=int64),)
a_arr[np.where(b_arr>50)]
array([30, 40, 50])
xi_arr=np.array([1,2,2,45,4],dtype=np.float32)
xi_arr
array([ 1.,  2.,  2., 45.,  4.], dtype=float32)
xi_arr.dtype
dtype('float32')
xi_arr.nbytes
20
bo=np.array([1,3,4,4,5,56])
np.asanyarray(bo,dtype=np.float32)
array([ 1.,  3.,  4.,  4.,  5., 56.], dtype=float32)
bo
array([ 1,  3,  4,  4,  5, 56])
bo1=np.asanyarray(bo,dtype=np.float32)
bo1
array([ 1.,  3.,  4.,  4.,  5., 56.], dtype=float32)
bo.astype(np.float32)
array([ 1.,  3.,  4.,  4.,  5., 56.], dtype=float32)

数值计算

import numpy as np
arr=np.array([[1,2,3],[4,5,6]])
arr
array([[1, 2, 3],
       [4, 5, 6]])
np.sum(arr)
21
#上面这个是把数组里面的所有值都相加了

指定维度(轴)累加

np.sum(arr,axis=0)#沿着竖着的轴相加
array([5, 7, 9])
np.sum(arr,axis=1)#沿着横向的轴相加
array([ 6, 15])
np.ndim(arr)
2
np.sum(arr,axis=-1)#因为有两维度所以最后一个维度也是1的维度(x轴)
array([ 6, 15])
arr.sum(axis=0)
array([5, 7, 9])

arr.sum(axis=1)
array([ 6, 15])
arr.prod()# 累乘乘积
720
arr.prod(axis=1)
array([  6, 120])
arr.min(axis=1)
array([1, 4])
arr.max(axis=0)
array([4, 5, 6])

寻找索引索引位置

arr.argmax()#寻找最大的值的位置
5
arr.argmax(axis=1)#寻找最大的值的位置
array([2, 2], dtype=int64)

计算均值

arr.mean()
3.5

计算标准差

arr.std()
1.707825127659933
arr.std(axis=1)
array([0.81649658, 0.81649658])

计算方差

arr.var()
2.9166666666666665

做限制

arr.clip(2,4)
array([[2, 2, 3],
       [4, 4, 4]])
# 大于的都会小于4,

近似

hhh=np.array([1.21212,12.2112312312,666,367])
hhh.round()
array([  1.,  12., 666., 367.])
hhh.round(decimals=1)
array([  1.2,  12.2, 666. , 367. ])

四则运算

标签:arr,False,dtype,笔记,学习,True,np,array,numpy
From: https://www.cnblogs.com/E-Sheep/p/17110034.html

相关文章

  • 软考-软件工程笔记
    1、软件开发方法2、软件开发模型3、逆向工程4、需求工程5、软件系统建模6、系统设计7、测试与评审8、系统运行与软件维护 一、软件开发方法1、结构化法传统的......
  • 学习笔记——尚好房项目(配置ssm环境、测试ssm环境)
    2023-02-10一、配置SSM环境1、添加日志文件在“shf-parent/web-admin/src/main/resources”下创建“logback.xml”<?xmlversion="1.0"encoding="UTF-8"?><configur......
  • Markdown学习
    Markdown学习标题n级标题一级标题为#+[空格]+标题或者ctrl+1二级标题则为##+[空格]+标题或者ctrl+2后续几级标题依此类推...最多支持6级标题字体粗体在文字的两端......
  • vuex相关笔记
    vuex是什么?vuex是管理应用程序状态,实现组件间通信的。为什么使用vuex?在开发大型应用的项目时,会出现多个视图组件依赖一个同一个状态,来自不同视图的行为需要变更同一个......
  • 深度学习|论文中常用的注意力模块合集(下)
    注意力机制可以增加少量参数的情况下来提升计算精度和模型性能,在论文中常用的注意力模块合集(上)中介绍了三种注意力机制,它们分别是CA、CBAM和SE,均在目标检测和语义分割领域......
  • 深度学习|论文中常用的注意力模块合集(下)
    注意力机制可以增加少量参数的情况下来提升计算精度和模型性能,在论文中常用的注意力模块合集(上)中介绍了三种注意力机制,它们分别是CA、CBAM和SE,均在目标检测和语义分割领域......
  • uniapp踩坑必备笔记
    1.【配置】应用版本号名称有一个规则的字符串:1.0.0,规则是:大版本号,中版本号,小版本号。2.【配置】应用版本号中的小版本号不能超过9,超过9的需要向上一个版本号进一(逢十进一)......
  • Python numpy数组操作(分割数组) 
    分割数组函数数组及操作split将一个数组分割为多个子数组hsplit将一个数组水平分割为多个子数组(按列)vsplit将一个数组垂直分割为多个子数......
  • 好客租房152-好客租房web中学习
    ......
  • docker命令学习
    一篇学会使用docker(超详细)原创 艺说IT 艺说IT 2022-11-2615:07 发表于广西收录于合集#docker1个#容器技术1个#容器命令1个一、docker介绍Docker是......