专栏首页香菜聊游戏深度学习基础之numpy,小白轻松入门numpy,送书了!!!

深度学习基础之numpy,小白轻松入门numpy,送书了!!!

1、numpy 的安装

pip install numpy

2、快速入门

2.1 数据类型

用过C语言的基本上都知道是哪几个类型,毕竟python是c 实现的

总结一下:u表示无符号,有符号则没有,中间表示类型类型,最后一个是表示的字节数

2.2 最重要的对象Ndarray 对象

Ndarray 可以理解为Java里面List 的实现,封装了更好的接口和api。

调试看下结构

2.3 副本和视图

副本是一个数据的完整的拷贝,如果我们对副本进行修改,它不会影响到原始数据,物理内存不在同一位置。

视图是数据的一个别称或引用,通过该别称或引用亦便可访问、操作原有数据,但原有数据不会产生拷贝。如果我们对视图进行修改,它会影响到原始数据,物理内存在同一位置。

视图一般发生在:

  • 1、numpy 的切片操作返回原数据的视图。
  • 2、调用 ndarray 的 view() 函数产生一个视图。

副本一般发生在:

  • Python 序列的切片操作,调用deepCopy()函数。
  • 调用 ndarray 的 copy() 函数产生一个副本。

3、numpy 常用操作

1.创建 ndarray

import numpy as np 
#将列表和 元组转换为ndarray 
x =  [1,2,3] 
a = np.asarray(x)  
print (a)

y =  (1,2,3) 
b = np.asarray(y)  
print (b)
  1. 遍历ndarray NumPy 迭代器对象 numpy.nditer( nditer = nd iterator) 提供了一种灵活访问一个或者多个数组元素的方式
import numpy as np

a = np.arange(6).reshape(2,3)
print ('原始数组是:')
print (a)
print ('\n')
print ('迭代输出元素:')
for x in np.nditer(a):
    print (x, end=", " )
print ('\n')

nditer 的几个参数

order='F' :'C' -- 按行,'F' -- 按列,'A' -- 原顺序,'k' -- 元素在内存中的出现顺序。

op_flags:nditer 将视待迭代遍历的数组为只读对象(read-only),为了在遍历数组的同时,实现对数组元素值得修改,必须指定 read-write 或者 write-only 的模式。

import numpy as np

a = np.arange(6).reshape(2, 3)
print('原始数组是:')
print(a)
print('\n')
print('迭代输出元素:')
for x in np.nditer(a,order="F",op_flags=['readwrite']):
    print(x, end=", ")
    x[...]= x * 2
print('\n 修改后的元素')
print(a)
print('\n')

输出结果

原始数组是:
[[0 1 2]
 [3 4 5]]

迭代输出元素:
0, 3, 1, 4, 2, 5,

 修改后的元素
[[ 0  2  4]
 [ 6  8 10]]

3.Numpy 数组操作

修改数组形状

翻转数组

numpy.transpose 函数用于对换数组的维度连接数组

分割数组

数组元素的添加与删除

numpy.append 函数在数组的末尾添加值

4、常用函数

NumPy 提供了标准的三角函数:sin()、cos()、tan()。

NumPy 算术函数包含简单的加减乘除: add()subtract()multiply()divide()

统计函数

numpy.amin() 和 numpy.amax()

numpy.ptp()函数计算数组中元素最大值与最小值的差(最大值 - 最小值)。

numpy.median() 函数用于计算数组 a 中元素的中位数(中值)

numpy.mean() 函数返回数组中元素的算术平均值。如果提供了轴,则沿其计算。

操作函数

numpy.sort() 函数返回输入数组的排序副本

numpy.argsort() 函数返回的是数组值从小到大的索引值

numpy.lexsort() 用于对多个序列进行排序。把它想象成对电子表格进行排序,每一列代表一个序列,排序时优先照顾靠后的列

#!/usr/bin/env python
# encoding: utf-8


"""
#Author: 香菜
@time: 2021/8/30 0030 下午 10:00
"""

import numpy as np

a = np.arange(6).reshape(2, 3)
print('原始数组是:')
print(a)
# 最小值,可以指定轴
min = np.amin(a)
print("最小值 :" + str(min))
# 最大值与最小值的差
gap = np.ptp(a)
print("最大差 :" + str(gap))
mid = np.median(a)
print("中位数 :" +str(mid))

mean = np.mean(a)
print("平均值 :" +str(mean))

print(np.argsort(a))

5、ndarray和 list的区别

数组元素要求是相同类型,而列表的元素可以是不同类型。

ndarray占用的内存要比列表少

  • 数组底层使用C程序编写,运算速度快。
  • 数组底层使用C中数组的存储方式(紧凑存储),节省内存空间。

6、总结

numpy 不难,最重要的数据结构就是ndarray ,可以直接当做List使用,然后np 提供了一些列的函数操作

本文分享自微信公众号 - 香菜聊游戏(gamWatcher),作者:香菜聊游戏

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-09-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python矩阵和Numpy数组的那些事儿

    使用嵌套列表和NumPy包的Python矩阵。矩阵是一种二维数据结构,其中数字按行和列排列。

    Python进阶者
  • 大神推荐的16本学习数据分析挖掘的好书

    深入浅出数据分析 以类似“章回小说”的活泼形式,生动地向读者展现优秀的数据分析人员应知应会的技术。

    一墨编程学习
  • Python数据分析入门书籍推荐

    推荐理由:本书用诙谐有趣的讲述方式为大家介绍了python的基本语法,非常适合非计算机专业的初学者作为入门书来看。在这个过程中,该书会让你完成一系列习题,而你则...

    python学习教程
  • 开篇词 | 如何轻松玩转Pandas呢?

    在今日,Python 俨然已成为一门非常受欢迎的语言,在掌握了Python后,你是不是已经发现了 Python 非常有意思呢?

    abs_zero
  • 零基础想要学习Python编程 ,不知道看哪本书?

    Python现在非常火,语法简单而且功能强大,很多同学都想学Python!所以小的给各位看官们准备了高价值Python学习视频教程及相关电子版书籍,欢迎前来领取...

    python学习教程
  • 从小白到大神,你可能需要这么做!

    七八年前,我绝对是不会相信能够成为现在的自己,之前的我可以说是对计算机都一无所知的小白,而现在我已经就职于顶级互联网公司,并且已经获得数了十个数据挖掘比赛冠军,...

    崔庆才
  • 机器学习入门指南(2021版)

    这是为朋友社群准备的一篇机器学习入门指南,分享了我机器学习之路看过的一些书、教程、视频,还有学习经验和建议,希望能对大家的学习有所帮助。

    统计学家
  • 这里有 300 篇 Python 与机器学习类原创笔记

    主要包括计算机科学中基本的算法与数据结构,结合算法思想和Leetcode实战,总结介绍。

    好好学java
  • 一位16岁CEO教你如何在高中阶段入门人工智能

    大数据文摘
  • 这里有10本书,陪你欢度机器学习的清凉暑假 | 丰盛的传送门

    量子位
  • 干货:如何正确地学习数据科学中的Python

    大多数有抱负的数据科学家是通过学习为开发人员开设的编程课程开始认识 python 的,他们也开始解决类似 leetcode 网站上的 python 编程难题。他...

    一墨编程学习
  • 想要自学深度学习?不用GPU,浏览器就够了

    项目地址:https://github.com/GokuMohandas/practicalAI

    机器之心
  • Python数据挖掘学习路线是什么?学习Python学什么?

    学习Python数据挖掘,你有明确的路线吗,学任何东西首先你要知道学习它的路线,了解了路线才能更容易学习,学习起来才不会非常费劲,进入正题,看看千锋教育的Pyt...

    企鹅号小编
  • 编程新手码住!最适合学习的Python书籍

    小E发现身边越来越多的朋友想要自学编程,希望走上程序猿道路。那今天就给大家整理了几本适合编程新手入门的Python学习书籍,希望大家抓住双十一的尾巴,买书学习...

    腾讯NEXT学位
  • 原创 | 吐血推荐,B站最强学习资源汇总(数据科学,机器学习,python)

    经过这几个月的居家隔离,想必大多数同学都开始习惯通过线上的方式开展学习了,在线教育领域也因此迎来了一波爆发,竞争异常激烈,既有知名平台如MOOC、学堂在线、网易...

    数据派THU
  • 学习Numpy,看这篇文章就够啦

    导读:在数据分析当中,Python用到最多的第三方库就是Numpy。本文内容是「大数据DT」内容合伙人王皓阅读学习《Python 3智能数据分析快速入门》过后的...

    华章科技
  • 「最全」实至名归,NumPy 官方早有中文教程,结合深度学习,还有防脱发指南

    在 Github 上一度蝉联最流行的机器学习和数据科学包 NumPy,已经有了非常之系统的中文文档,回想起当初细啃 NumPy 之时,不少人不得不徘徊于各大搜索...

    Datawhale
  • Python自动化办公知识点整理汇总

    这可能是很多非IT职场人士面临的困惑,想把python用到工作中,却不知如何下手?python在自动化办公领域越来越受欢迎,批量处理简直是加班族的福音。

    墨鬓
  • 学妹揪着让我推荐一波 Python 视频和书单,为了让她不再烦我,我总结了这些。

    有些标题党了,打我可以但是不可以打我脸,推荐我是认真的,4000 字长文,请慢慢食用

    编程文青李狗蛋

扫码关注云+社区

领取腾讯云代金券