首页 > 其他分享 >numpy读书报告

numpy读书报告

时间:2023-12-18 20:35:51浏览次数:34  
标签:报告 grad random print 读书 np import numpy

numpy 库常见函数的介绍

<1>. numpy创建数组

1. 从已有数据中创建数组

  a. 将列表转换成 ndarray:

import numpy as np
ls1 = [10, 42, 0, -17, 30]
nd1 =np.array(ls1)
print(nd1)
print(type(nd1))

  运行结果:

[ 10  42   0 -17  30]
<class 'numpy.ndarray'>

  b.嵌套列表可以转换成多维 ndarray:

import numpy as np
ls2 = [[8, -2, 0, 34, 7], [6, 7, 8, 9, 10]]
nd2 =np.array(ls2)
print(nd2)
print(type(nd2))

  运行结果:

[[ 8 -2  0 34  7]
[ 6  7  8  9 10]]
<class 'numpy.ndarray'>

 

2. 利用 random 模块生成数组

 

几种 np.random 模块中常用的方法,如下表所示。

 

 

 

 

 

 

 

                             

 

 下面来看一些使用:

 

import numpy as np
import random
nd3 =np.random.random([4, 3])  #生成4行3列的数组
print(nd3)
print("nd3的形状为:",nd3.shape)

 

执行结果:

 

[[0.59115057 0.52022516 0.05992361]
 [0.5077815  0.81313999 0.70061259]
 [0.24654561 0.11705634 0.71399966]
 [0.73964407 0.57138345 0.89284498]]
nd3的形状为: (4, 3)

 

为了每次生成同一份数据,可以指定一个随机种子,使用 shuffle() 函数打乱生成的随机数。

 

复制代码
import numpy as np
np.random.seed(123)
nd4 = np.random.randn(4, 3)
print(nd4)
np.random.shuffle(nd4)
print("随机打乱后数据:")
print(nd4)
print(type(nd4))
复制代码

 

执行结果:

 

复制代码
[[-1.0856306   0.99734545  0.2829785 ]
 [-1.50629471 -0.57860025  1.65143654]
 [-2.42667924 -0.42891263  1.26593626]
 [-0.8667404  -0.67888615 -0.09470897]]
随机打乱后数据:
[[-1.50629471 -0.57860025  1.65143654]
 [-2.42667924 -0.42891263  1.26593626]
 [-0.8667404  -0.67888615 -0.09470897]
 [-1.0856306   0.99734545  0.2829785 ]]
<class 'numpy.ndarray'>
复制代码

 

3. 创建特定形状的多维数组

 

参数初始化时,有时需要生成一些特殊矩阵,如全是 0 或 1 的数组或矩阵,这时我们可以利用 np.zeros、np.ones、np.diag 来实现,如下表所示。

 

             

 

下面通过几个示例说明:

 

复制代码
import numpy as np
# 生成全是 0 的 3x3 矩阵
nd5 =np.zeros([3, 3])
# 生成全是 1 的 3x3 矩阵
nd6 = np.ones([3, 3])
# 生成 4 阶的单位矩阵
nd7 = np.eye(4)
# 生成 4 阶对角矩阵
nd8 = np.diag([1, 8, 3, 10])
print("nd5 =\n", nd5)
print("nd6 =\n", nd6)
print("nd7 =\n", nd7)
print("nd8 =\n", nd8)
复制代码

 

运行结果:

 

复制代码
nd5 =
[[0. 0. 0.]
[0. 0. 0.]
[0. 0. 0.]]
nd6 =
[[1. 1. 1.]
[1. 1. 1.]
[1. 1. 1.]]
nd7 =
[[1. 0. 0. 0.]
[0. 1. 0. 0.]
[0. 0. 1. 0.]
[0. 0. 0. 1.]]
nd8 =
[[ 1  0  0  0]
[ 0  8  0  0]
[ 0  0  3  0]
[ 0  0  0 10]]
复制代码

 


有时还可能需要把生成的数据暂时保存到文件中,以备后续使用。

 

import numpy as np
nd9 =np.random.random([3, 5])
np.savetxt(X=nd9, fname='./data.txt')
nd10 = np.loadtxt('./data.txt')
print(nd10)

 

运行结果:

 

[[0.1744383  0.15515217 0.74885812 0.57633094 0.06300636]
[0.24340527 0.65213913 0.07284238 0.52232677 0.58538849]
[0.83611286 0.76508018 0.26018483 0.20485587 0.95476232]]

 

打开当前目录下的 data.txt 也可以看到格式化的数据。

 

#图像的手绘效果实现(具体问题+图像处理)

 

 

#图像的手绘效果
from PIL import Image
import numpy as np
vec_el = np.pi/2.2
vec_az = np.pi/4.
depth = 10. # (0-100)
im = Image.open('gpnu.jpg').convert('L')
a = np.asarray(im).astype('float')
grad = np.gradient(a)
grad_x, grad_y = grad
grad_x = grad_x*depth/100.
grad_y = grad_y*depth/100.
dx = np.cos(vec_el)*np.cos(vec_az)
dy = np.cos(vec_el)*np.sin(vec_az)
dz = np.sin(vec_el)
A = np.sqrt(grad_x**2 + grad_y**2 + 1.)
uni_x = grad_x/A
uni_y = grad_y/A
uni_z = 1./A
a2 = 255*(dx*uni_x + dy*uni_y + dz*uni_z)
a2 = a2.clip(0,255)
im2 = Image.fromarray(a2.astype('uint8'))

im2.save('gpnuHandDraw.jpg')

 

 

标签:报告,grad,random,print,读书,np,import,numpy
From: https://www.cnblogs.com/haishiyigeren/p/17912179.html

相关文章

  • Numpy 等函数的读书报告
    importnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspltplt.rcParams['axes.unicode_minus']=Falseplt.rcParams['font.sans-serif']='SimHei'matplotlib使用里面的函数读取图片,输出图片对应的数组#matplotlib使用里面的函数读取图片,输出图片对应......
  • pytorch——豆瓣读书评价分析
    任务目标基于给定数据集,采用三层bp神经网络方法,编写程序并构建分类模型,通过给定特征实现预测的书籍评分的模型。选取数据在各项指标中,我认为书籍的评分和出版社、评论数量还有作者相关,和其他属性的关系并大。所以,对于出版社,我选取了出版社的平均评分和出版社在这个表格中出现......
  • python123——numpy、scipy、pandas、matplotlib的读书报告
     一、函数的基本用法numpyNumPy(NumericalPython)是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nestedliststructure)结构要高效的多(该结构也可以用来表示矩阵(matrix)),支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的......
  • 零数科技双平台入选2023爱分析·数据要素流通厂商全景报告
    全面近日,国内领先的数字化市场研究咨询机构爱分析正式发布《2023爱分析·数据要素流通厂商全景报告》,零数科技凭借成熟的区块链和隐私计算技术,及系列标杆产品及应用,成功入选数据要素流通代表厂商。图:零数科技入围爱分析数据要素厂商全景地图随着数字经济的崛起,数据成为推动社会生产......
  • 重磅首发|2024音视频技术发展报告
    //11月24日,在LiveVideoStackCon2023深圳站大会上,我们与腾讯云音视频联合首发《2024音视频技术发展报告》。报告通过300+音视频开发者调研,40+专家一线访谈,下沉8大细分技术领域进行全面解读,涵盖音视频编解码/AI编码/多媒体处理框架/媒体传输协议/超低延迟技术/虚拟现实/AIGC/出海等......
  • 45、Flink 的指标体系介绍及验证(2)-指标的scope、报告、系统指标以及追踪、api集成示例
    文章目录Flink系列文章一、Flink指标体系2、Scope范围1)、用户范围2)、系统范围SystemScope3)、所有变量列表4)、用户变量3、Reporter4、Systemmetrics1)、CPU2)、Memory3)、Threads4)、GarbageCollection5)、ClassLoader6)、Network7)、Defaultshuffleservice8)、Cluster9)、Availabili......
  • 47、Flink 的指标报告介绍(graphite、influxdb、prometheus、statsd和datalog)及示例(jmx
    文章目录Flink系列文章一、MetricReporters1、概述及示例2、入门示例0)、特别说明1)、配置2)、验证3)、自定义的指标收集器3、基于标志符格式vs.基于tags格式4、Pushvs.Pull5、发送器1)、JMX2)、Graphite2)、InfluxDB4)、Prometheus5)、PrometheusPushGateway6)、StatsD7)、Datadog8)......
  • 读书报告
    《Python数据科学手册》中介绍了四个重要的数据科学库:NumPy、Pandas、Matplotlib和Scipy。NumPyNumPy是Python中用于科学计算的基础包,提供了多维数组对象、各种派生对象(如掩码数组和矩阵)以及用于数组计算的各种例程。NumPy的核心功能是ndarray(N-dimensionalarrayobject),它是......
  • 《需求分析与系统设计》读书笔记2
      第四章是需求规格的说明,在这章中作者提出需要用图形和其他形式化模型来说明需求。需求规格说明用客户的叙述性需求作为输入,用构造规格说明模型作为输出,这些模型分为3组,即状态模型,行为模型和状态变化模型。对象的状态由它的属性和关联的取值来决定,状态规格说明提供系统的静态视......
  • 第16周训练报告
    周一前缀和与差分差分-加固文明幻景-博客园(cnblogs.com)P8218【深进1.例1】求区间和P1719最大加权矩形P1314[NOIP2011提高组]聪明的质监员P2367语文成绩P3397地毯P1955[NOI2015]程序自动分析CodeforcesRound804(Div.2)VPCodeforcesRound804(Di......