np.sum() 用法 np.log() 用法 np.expand_dims() 用法

2023-12-17 23:58
文章标签 用法 log np sum expand dims

本文主要是介绍np.sum() 用法 np.log() 用法 np.expand_dims() 用法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

import numpy as np# axis = 0表示对最外层[]里的最大单位块做块与块之间的运算,同时移除最外层[]:
a = np.array([1, 2, 3])
print(a.sum(axis=0))
"""
6
"""a = np.array([[1, 2], [3, 4]])
print(a.sum(axis=0))
"""
[4 6]
"""a = np.array([[[1, 2], [3, 4]], [[11, 12], [13, 14]]])
print(a)
print(a.sum(axis=0))
"""
[[[ 1  2][ 3  4]][[11 12][13 14]]][[12 14][16 18]]
"""# axis= 1表示对第二外层[]里的最大单位块做块与块之间的运算,同时移除第二外层[]:
a = np.array([[1, 2], [3, 4]])
print(a.sum(axis=1))
"""
有两层[],第二外层[]里的最大单位块有两组(因为有两个第二外层[]),第一组是1,2,第二组是3,4,分别对这两个单位块做块与块之间的运算,第一组结果为1+2=3,第二组结果为3+4=7;
做完加法后本应是[[3],[7]],但是**移除第二外层[]**后,原来的两层[]变成一层[],所以返回结果为[3, 7]。
"""# ------------ np.log -----------------
print(np.log(np.e))  #log下什么都不写默认是自然对数
"""
1.0
"""print(np.log10(100))  #log10是以10为底的
"""
2.0
"""# ------------ np.expand_dims -----------------
"""
np.array([1, 2, 3]) 
当你看以上数组时,从1到2,到3。这就是所谓的axis=0轴 
np.array([ [1, 2], [3, 4], [4, 5] ]) 再用相同的方法,看上面数组,首先是从[1, 2]到 [3, 4]到[4, 5]。这就是从0轴视角看的数据,当我们选择0轴所在的第一个元素[1, 2]时,
我们看到的是从1到2。这就是从1轴看到的数据。假若有n维数据,axis=0表示最外面括号说包含的里面所有内容,axis=1表示第2个括号里面所包含所有内容,比如:[[[内容1],[内容2]]]。
"""print("---"*15)
a = np.array([1, 2, 3, 4, 5])
b = a[np.newaxis, :]  # 插在最前面,从左到右,就按照从高维到低维位置排,在最面加个括号,增加了一维
print(a, "\n", b)
"""
[1 2 3 4 5] [[1 2 3 4 5]]
"""print("---"*15)
a = np.array([1, 2, 3, 4, 5])
b = a[:, np.newaxis]  # 插在最前面,从左到右,就按照从高维到低维位置排,在最面加个括号,增加了一维
print(a, "\n", b)
"""
[1 2 3 4 5] [[1][2][3][4][5]]
"""print("---"*15)
x = np.array([1, 2])
print("x ->", x)
print("x.shape->",x.shape)
y = np.expand_dims(x, axis=0)
print("y->", y)
print("y.shape->",y.shape)
"""
x -> [1 2]
x.shape-> (2,)
y-> [[1 2]]
y.shape-> (1, 2)
"""print("---"*15)
x = np.array([1, 2])
print("x ->", x)
print("x.shape->",x.shape)
y = np.expand_dims(x, axis=1)
print("y->", y)
print("y.shape->",y.shape)
"""
x -> [1 2]
x.shape-> (2,)
y-> [[1][2]]
y.shape-> (2, 1)
"""print("---"*15)
x = np.array([[1, 2, 3], [4, 5, 6]])
print("x -> \n", x)
print("x.shape -> \n", x.shape)
y = np.expand_dims(x, axis=0)
print("y -> \n", y)
print("y.shape -> \n", y.shape)
"""
x -> [[1 2 3][4 5 6]]
x.shape -> (2, 3)
y -> [[[1 2 3][4 5 6]]]
y.shape -> (1, 2, 3)
"""
print("---"*15)
x = np.array([[1, 2, 3], [4, 5, 6]])
print("x -> \n", x)
print("x.shape -> \n", x.shape)
y = np.expand_dims(x, axis=1)
print("y -> \n", y)
print("y.shape -> \n", y.shape)
"""
x -> [[1 2 3][4 5 6]]
x.shape -> (2, 3)
y -> [[[1 2 3]][[4 5 6]]]
y.shape -> (2, 1, 3)
"""print("---"*15)
x = np.array([[1, 2, 3], [4, 5, 6]])
print("x -> \n", x)
print("x.shape -> \n", x.shape)
# y = np.expand_dims(x, axis=-1)
y = np.expand_dims(x, axis=2)
print("y -> \n", y)
print("y.shape -> \n", y.shape)
"""
x -> [[1 2 3][4 5 6]]
x.shape -> (2, 3)
y -> [[[1][2][3]][[4][5][6]]]
y.shape -> (2, 3, 1)
"""

 

 

参考链接:

https://blog.csdn.net/qq_35860352/article/details/80463111

这篇关于np.sum() 用法 np.log() 用法 np.expand_dims() 用法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/506333

相关文章

内核启动时减少log的方式

内核引导选项 内核引导选项大体上可以分为两类:一类与设备无关、另一类与设备有关。与设备有关的引导选项多如牛毛,需要你自己阅读内核中的相应驱动程序源码以获取其能够接受的引导选项。比如,如果你想知道可以向 AHA1542 SCSI 驱动程序传递哪些引导选项,那么就查看 drivers/scsi/aha1542.c 文件,一般在前面 100 行注释里就可以找到所接受的引导选项说明。大多数选项是通过"_

最大流=最小割=最小点权覆盖集=sum-最大点权独立集

二分图最小点覆盖和最大独立集都可以转化为最大匹配求解。 在这个基础上,把每个点赋予一个非负的权值,这两个问题就转化为:二分图最小点权覆盖和二分图最大点权独立集。   二分图最小点权覆盖     从x或者y集合中选取一些点,使这些点覆盖所有的边,并且选出来的点的权值尽可能小。 建模:     原二分图中的边(u,v)替换为容量为INF的有向边(u,v),设立源点s和汇点t

bytes.split的用法和注意事项

当然,我很乐意详细介绍 bytes.Split 的用法和注意事项。这个函数是 Go 标准库中 bytes 包的一个重要组成部分,用于分割字节切片。 基本用法 bytes.Split 的函数签名如下: func Split(s, sep []byte) [][]byte s 是要分割的字节切片sep 是用作分隔符的字节切片返回值是一个二维字节切片,包含分割后的结果 基本使用示例: pa

UVM:callback机制的意义和用法

1. 作用         Callback机制在UVM验证平台,最大用处就是为了提高验证平台的可重用性。在不创建复杂的OOP层次结构前提下,针对组件中的某些行为,在其之前后之后,内置一些函数,增加或者修改UVM组件的操作,增加新的功能,从而实现一个环境多个用例。此外还可以通过Callback机制构建异常的测试用例。 2. 使用步骤         (1)在UVM组件中内嵌callback函

这些ES6用法你都会吗?

一 关于取值 取值在程序中非常常见,比如从对象obj中取值 const obj = {a:1b:2c:3d:4} 吐槽: const a = obj.a;const b = obj.b;const c = obj.c;//或者const f = obj.a + obj.b;const g = obj.c + obj.d; 改进:用ES6解构赋值

ImportError: cannot import name ‘print_log‘ from ‘logging‘

mmcv升级到2.+后删除了很多 解决 查FAQ文档,找到 添加到mmcv.utils下即可

DAY16:什么是慢查询,导致的原因,优化方法 | undo log、redo log、binlog的用处 | MySQL有哪些锁

目录 什么是慢查询,导致的原因,优化方法 undo log、redo log、binlog的用处  MySQL有哪些锁   什么是慢查询,导致的原因,优化方法 数据库查询的执行时间超过指定的超时时间时,就被称为慢查询。 导致的原因: 查询语句比较复杂:查询涉及多个表,包含复杂的连接和子查询,可能导致执行时间较长。查询数据量大:当查询的数据量庞大时,即使查询本身并不复杂,也可能导致

如何导入sun.misc.BASE64Encoder和sum.misc.BASE64Decoder

右击项目名--->Build Path--->Configure Build Path...--->java Build Path--->Access rules:1 rule defined,added to all librar...   --->Edit --->Add...

多数据源的事务处理总是打印很多无用的log日志

之前做了一个项目,需要用到多数据源以及事务处理,在使用事务处理,服务器总是打印很多关于事务处理的log日志(com.atomikos.logging.Slf4jLogger),但是我们根本不会用到这些log日志,反而使得查询一些有用的log日志变得困难。那要如何屏蔽这些log日志呢? 之前的项目是提高项目打印log日志的级别,后来觉得这样治标不治本。 现在有一个更好的方法: 我使用的是log

2021-8-14 react笔记-2 创建组件 基本用法

1、目录解析 public中的index.html为入口文件 src目录中文件很乱,先整理文件夹。 新建components 放组件 新建assets放资源   ->/images      ->/css 把乱的文件放进去  修改App.js 根组件和index.js入口文件中的引入路径 2、新建组件 在components文件夹中新建[Name].js文件 //组件名首字母大写