美文网首页我爱编程
第一周 numpy入门

第一周 numpy入门

作者: 黎明的烬 | 来源:发表于2017-11-22 15:53 被阅读0次

第一单元:

一、ndarray:n维数组对象,

①数组对象可以去掉元素之间运算所需要的循环,使一维向量更像单个数据

②ndarray由两部分构成:实际数据和描述数据的数据(数据的维度,数据的类型一般要求数组的类型相同)

轴:保存数据的维度  秩:轴的数量

ndarray对象的属性 属性测试 有符号的元素类型 无符号的类型和浮点型 复数的类型

二、ndarray数组的创建

创建数组 在python的列表和元组中创建数组 numpy的自带函数创建数组 等间距生成数组

endpoint:表示10是否是生成的元素的最后一个

数据的维数

三、数组的维度和元素类型的变换

数组的维度变换函数

注意:reshape和flatten不修改原数组,而是生成新的数组

数组的类型变换

astype方法会产生一个数组的拷贝,会产生新的数组,即使元素的类型一致

数组类型变换的操作 数组转列表的操作

三、ndarray数组的操作——索引和切片

一维数组的访问和切片

一维数组的切片:数组的起始下标   数组的终止下标(不包含)  步长   

多维数组的索引 多维数组的切片

四、ndarray数组的运算

数组对标量的运算 数组的一元函数 一元函数 二元数组

第二单元

numpy的数据存取

将numpy数据的元素存入.csv文件  savetxt中fmt是在写入文件时设定的格式;

csv文件的生成和写入 读取csv文件的数据 运行测试

多维数据的存取:

将数据写入文件 从文件中读取数据

count可以设置一个读入的数量;. dtype设置读取的数据的类型,在下面dtype如果指定为str就会读取50个逗号;

注意:fromfile会读取一个一维数组,所以要reshape成三维数组

numpy自带的文件存储

随机数函数

通过调用seed调用相同的随机数组

第一轴即最外面的维度来进行打乱数组;

执行shuffle函数之后的发生改变的数组,但是shuffle函数返回值为None

注意:permutation的函数会返回一个新的数组;choice只能从一维数组中抽取

随机函数

NUMPY的统计函数

axis设置为n那么就在n+1的维度上进行运算

测试axis的运算

argmin和argmax可以将数组的元素的位置返回 

随机函数的梯度函数

当只有一侧有数字时,梯度就用当前值减去上一个值得到梯度;

多维数组,会返回第一维到最后一位的梯度 图像的数组表示

手绘效果代码:

# coding:utf8

fromPILimportImage

importnumpyasnp

if__name__ =='__main__':

a = np.asanyarray(Image.open("data/5503.jpg").convert('L')).astype('float')

depth =10# (0-100)

grand = np.gradient(a)#取图像的灰度的梯度值

grand_x,grand_y = grand#分别取横纵图像的梯度值

grand_x = grand_x * depth /100

grand_y = grand_y * depth /100

A = np.sqrt(grand_x **2+ grand_y **2+1.)

uni_x = grand_x / A

uni_y = grand_y / A

uni_z =1./ A

vec_e1 = np.pi /2.2#光源的俯视角度, 弧度值

vec_az = np.pi /4.#光源的但范围角度  弧度值

dx = np.cos(vec_e1) * np.cos(vec_az)#光源对轴的影响

dy = np.cos(vec_e1) * np.cos(vec_az)

dz = np.sin(vec_e1)

b =255* (dx * uni_x + dy * uni_y + dz * uni_z)#光源归一化

b = b.clip(0,255)

im = Image.fromarray(b.astype('uint8'))

im.save('data/55_hand.jpg')

相关文章

  • Numpy简易入门笔记

    来自 AI基础:Numpy简易入门手动运行了一遍实例代码,笔记待查于此处。 Numpy 简易入门 Numpy是 N...

  • numpy 学习(待更新)

    numpy 学习 标签(空格分隔): 机器学习 Numpy 入门 一、安装 pip install numpyor...

  • 第一周 numpy入门

    第一单元: 一、ndarray:n维数组对象, ①数组对象可以去掉元素之间运算所需要的循环,使一维向量更像单个数据...

  • Numpy

    1.numpy.tile(A,B)函数,实例验证 快速入门 Numpy[https://mp.weixin.qq....

  • NumPy之 索引技巧

    系列文章 一次性搞定NumPy入门基础知识NumPy之操控ndarray的形状NumPy之浅拷贝和深拷贝NumPy...

  • Numpy语法入门(一)

    1 Numpy简易入门 1.1 认识Numpy数组对象 1.1.1 np.arange In [1]: Out[1...

  • numpy-n2

    [TOC]说明:本文是numpy入门的第二篇笔记。 numpy的智能切片 numpy提供了比原始python强大的...

  • Python编程&数据科学入门 Lesson4

    第四课 - NumPy 入门 本课内容: 0. 导入 NumPy 包 1. 创建 NumPy 数组 2. 索引和切...

  • Numpy 学习图谱

    在学习 Numpy 的时候,整理了一份 Numpy 学习图谱,希望同样可以帮助到想要入门 Numpy 的朋友。 N...

  • 【Chapter 4】 NumPy基础:数组和矢量计算

    【Chapter 4】 NumPy基础:数组和矢量计算 使用 Python 进行科学计算:NumPy入门 NumP...

网友评论

    本文标题:第一周 numpy入门

    本文链接:https://www.haomeiwen.com/subject/luxovxtx.html