
Python提供了一个标准的类库CSV文件。这个类库中的reader()函数用来导入CSV文件。当CSV文件被读入后,可以利用这些数据生成一个NumPy数组,用来训练算法模型:取决于你用的什么IDE编辑器了,比如在Pycharm里点File-->Settings-->Project Interpreter,然后点右边的一个绿色加号,搜索numpy,点击安装。
如果是Linux的话,先安装pip,然后在终端运行pip install numpy。别的package也都可以这样非常迅速地安装了。
1最开始,在装完nltk,numpy和scipy以及matplotlib后,我直接在python交互式命令行中导入matplotlib模块,结果提示缺少模块six,如下图所示:
这个模块实在刚才装完的SciPy包中,找到自己的Python的安装目录,然后把%PYTHON_ROOT%\Lib\site-packages\scipy\lib目下的sixpy,sixpyc,sixpyo三个文件放到%PYTHON_ROOT%\Lib\site-packages目录下即可解决这个问题,这里%PYTHON_ROOT%是指你电脑上的python安装的根目录,如我是把python安装在C盘根目录的,所以在我电脑上这个%PYTHON_ROOT%表示的是C:\python27,这个根据你自己安装Python的目录不同而不同。
2在解决上面的问题后,再次在python交互式命令行下,导入matplotlib模块,结果仍然提示出错,如下图:
根据提示可以知道,matplotlib需要dateutil,所以我们需要安装第6步中的dateutil,在我给的链接里,如今只能下到whl格式的安装文件,这个是python自己的包文件需要用到python的包管理软件来安装,python自带的包管理软件常见的有setuptools和pip两种,我这里使用的是pip来进行安装。使用之前最好自己添加环境变量,免得在后面使用时,要输入Pip程序的完整路劲比较麻烦。在系统变量Path的最后面添加如下的地址:%PYTHON_ROOT%\Scripts。其中,%PYTHON_ROOT%仍然是python的根目录。安装过程如下:将下载好的dateutil的安装包,放到某个目录下,如我把它放在D盘根目录,然后打开windows的命令行窗口,请注意是Windows的命令行窗口,然后进入D盘根目录,然后输入如下命令,如下图下半部分所示:
3安装完dateutil后,导入matplotlib仍然提示有错,提示缺少pyparsing模块,按照第二步方式,下载安装文件,安装完成后,便可正确导入matplotlib模块,安装的命令如上图上半部分所示,这里不再赘述。正确安装后即可成功导入,如下图所示:
安装的正确过程:
1先安装python,我用的是32位python341(下载地址可以去:>
2安装nltk(版本nltk-301win32),这是python下的一个自然语言工具,里面集成了很多处理自然语言所需要的函数。(下载地址:同上)
3安装NumPy(版本numpy-181-win32-superpack-python34)(下载地址:>
4安装SciPy(版本scipy-0151-win32-superpack-python34)(下载地址:同上)
5安装Matplotlib(版本matplotlib-141win32-py34)(下载地址:>
6安装dateutil(版本python_dateutil-23-py2py3-none-any)(下载地址:>
7安装Pyparsing(版本pyparsing-203-py3-none-any)(下载地址:同上)
其中,NumPy和SciPy中的一些模块,是导入Matplotlib所需的,应该安装。
嘿嘿,这你就问对人了!
百度搜索Anaconda,点进官网推荐下载python35版本的Anaconda
Anaconda集成了Python以及Python的众多安装包,包括Numpy等,还有集成开发环境!
具体链接我就不给你啦,说是违反知道规范!
注意:安装Anaconda时路径上不要有空格,切记!
我现在用的就是Anaconda3下面是我演示的界面
不懂的可以继续追问
回顾: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 合并到数据列
拆分数组的函数包括: npsplit , nphsplit, npvsplit
传递给数组一个与它有关的条件式,然后它就会返回给定条件下为真的值。
在生成图形时也非常好用:
在程序中用条件式选择了图中不同的点。蓝色的点(也包含图中的绿点,只是绿点覆盖了蓝点),显示的是值大于零的点。绿点显示的是值大于 0 小于 Pi / 2 的点。
当不同 shape 的数组进行运算(按位加/按位减的运算,而不是矩阵乘法的运算)时,(某个维度上)小的数组就会沿着(同一维度上)大的数组自动填充。广播虽然是一个不错的偷懒办法,但是效率不高、降低运算速度通常也为人诟病。
广播的原理(via Broadcast Visualization ):
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)