python菜鸟教程官网numpy(python菜鸟教程官网)
菜鸟数据科学入门03 - NumPy 数组基础和基本操作
回顾:
NumPy 是一个用于科学计算的基础 Python 库( 安装说明 )。它可以让你在 Python 中使用向量和数学矩阵,以及许多用 C 语言实现的底层函数。
在 Notebook 中导入 NumPy:
数组是将数据组织成若干个维度的数据块。
NumPy 的核心是数组(arrays)。
用 array 创建数组
在 NumPy 数组中,数据类型需要一致,否则,会尝试「向上兼容」,比如生成一个包含浮点数的数组,输出时每个元素都变成了浮点型:
NumPy 还可以用循环生成数组:
用 full 生成一个 3 行 5 列的数组:
用 arange 等距填充数组:
(arange 是 Python 内置函数 range 的数组版,返回的是一个 ndarray 而不是 list)
用 linspace 线性填充数组:
用 random 生成随机数组:
btw 数组索引从 0 开始
NumPy 中的切片语法: x[start:stop:step] ,如果没有赋值,默认值 start=0, stop=size of dimension, step=1。
(上图最后一个图形,arr[1, :2] 应该是 (1,2) 一行二列矩阵??)
复制数组切片
reshape:
转置(transpose)是重塑(reshape)的一种特殊形式,返回源数据的视图而不进行复制。
用 concatenate 连接数组:
用 vstack 合并到数据行, hstack 合并到数据列
拆分数组的函数包括: np.split , np.hsplit, np.vsplit
传递给数组一个与它有关的条件式,然后它就会返回给定条件下为真的值。
在生成图形时也非常好用:
在程序中用条件式选择了图中不同的点。蓝色的点(也包含图中的绿点,只是绿点覆盖了蓝点),显示的是值大于零的点。绿点显示的是值大于 0 小于 Pi / 2 的点。
当不同 shape 的数组进行运算(按位加/按位减的运算,而不是矩阵乘法的运算)时,(某个维度上)小的数组就会沿着(同一维度上)大的数组自动填充。广播虽然是一个不错的偷懒办法,但是效率不高、降低运算速度通常也为人诟病。
广播的原理(via Broadcast Visualization ):
求比较好的Python练习网站
适合 Python 入门学习的5个网站
1. Python官方网站
最权威的 Python 教程。
2. 菜鸟教程 Python 教程
基本入门级教程,还有一些简单的进阶教程。
3. 廖雪峰的 Python 教程
廖雪峰老师的教程相当不错,由浅入深,算是 进阶教程,一步步深入,后面还提供了一个实战教程。
4. Python 中文学习大本营
这里有 Flask 资料大全,如果你需要,可以找到
你想要的几乎所有教程。
5. github
希望对在大学里学习 Python 课程的同学,或者新手学习 Python 提供帮助。
图解Python中数据分析工具包:Numpy
numpy是我学习python遇到的第一个第三方工具包,它可以让我们快速上手数据分析。numpy提供了向量和矩阵计算和处理的大部分接口。目前很多python的基础工具包都是基于numpy开发而来,比如 scikit-learn, SciPy, pandas, 还有 tensorflow。 numpy可以处理表格、图像、文本等数据,极大地方便我们处理和分析数据。本文主要内容来自于Jay Alammar的一篇文章以及自己学习记录。
原文地址:
使用过程中,如果希望 Numpy 能创建并初始化数组的值, Numpy 提供了 ones()、zeros() 和 random.random() 等方法。只需传递希望生成的元素数量(大小)即可:
还可以进行如下操作:
一般,需要数组和单个数字之间也可以进行运算操作(即向量和标量之间的运算)。比如说 data * 1.6 ,numpy利用一个叫做广播机制(broadcasting)的概念实现了这一运算。:
我们可以通过索引对numpy数据获取任意位置数据或者对数据切片
我们可以通过numpy自带的函数对数据进行一些想要的聚合计算,比如min、max 和 sum ,还可以使用 mean 得到平均值,使用 prod 得到所有元素的乘积,使用 std 得到标准差等等。
上述操作不仅可以应用于单维度数据,还可以用于多维度数据{(矩阵)。
同样可以使用ones()、zeros() 和 random.random()创建矩阵,只要写入一个描述矩阵维数的元组即可:
numpy还可以处理更高维度的数据:
创建更高维度数据只需要在创建时,在参数中增加一个维度值即可:
根据数组中数值是否满足条件,输出为True或False.
希望得到满足条件的索引,用np.where函数实现.
根据索引得到对应位置的值.
np.where也可以接受另两个可选择的参数a和b。当条件满足时,输出a,反之输出b.
获取数组最大值和最小值的索引可以使用np.argmax和np.argmin.
1、numpy.tofile()和numpy.fromfile()
保存为二进制格式,但是不保存数组形状和数据类型, 即都压缩为一维的数组,需要自己记录数据的形状,读取的时候再reshape.
2、numpy.save() 和 numpy.load()
保存为二进制格式,保存数组形状和数据类型, 不需要进行reshape
实例:
3、numpy.savetxt()和numpy.loadtxt()
np.savetxt(fname,array,fmt=’%.18e’,delimiter=None)
Parameter解释:
array:待存入文件的数组。
fmt:写入文件的格式
实例:
python3怎么安装numpy
安装numpy库
1、下载网站:
我的是python3.7,64位windows10,所以下载的是numpy-1.14.5-cp37-none-win_amd64
把这个文件放在python的scripts文件夹下。
*如果忘记了自己的python文件夹是哪一个,win10可以在电脑上搜索Python.exe,然后右键-打开所在文件夹,就能看到scripts文件夹了。
相关推荐:《Python基础教程》
2、修改环境变量
然后将上述文件夹路径加入到系统变量中。方法如下:把Scripts这个目录拷贝下来,然后“右击此电脑-属性-高级系统设置-环境变量-系统变量-path-新建”将刚才的路径粘贴进去。
3、安装
在搜索栏输入cmd,右键,以管理员身份运行。输入pip3.7 install C:UsershpAppDataLocalProgramsPythonPython37Scriptsnumpy-1.14.5-cp37-none-win_amd64.whl(后面很长的那一串是自己的文件完整路径加上名字,我安装软件的习惯不好,喜欢按照默认路径装,所以路径这么长)
4、等待一会儿,应该就会看到安装成功的信息。试一下python文件中能够正确导入,如果可以,才算是真的安装成功。
如何自学 Python
建议先看网上的“python菜鸟教程”,这个突出重点,难度也不大,条理清晰。(高级编程的部分可以先不用看)。
然后再看看网上的“廖雪峰教程”,这个也是讲基础知识的,难度比菜鸟教程大。
之后可以找一本基础的书来看,比如《python基础教程》,纸质书讲解会比网上教程详细,内容丰富。学基础学到一定程度后,可以根据自己的需要来选择一些模块进行学习(学得比较多的是numpy和matplotlib;如果想要处理跟数据有关的工作,至少还要学pandas和scipy)学习模块时可以通过书也可以通过网上教程来学习。