机器学习 Numpy库入门
2017-06-28 13:56:25
Numpy 提供了一个强大的N维数组对象ndarray,提供了线性代数,傅里叶变换和随机数生成等的基本功能,可以说Numpy是Scipy,Pandas等科学计算库的基础。
使用前需要引入numpy包,一般会给他起个别名为np。
import numpy as np
一、ndarray的元素类型
ndarray一个特点就是同构,就是说其中的元素类型是一致的。并且为了减少从存储空间和提高运行效率,ndarray的数据类型相较于python本身多了很多具体的类型。
所支持的数据类型包括整数、浮点数、复数、布尔值、字符串或是普通的 Python 对象(object)。

二、ndarray创建方法
(1)使用python自带的数据结构列表或者元组进行创建。
- x = np.array(list/tuple)
- x = np.array(list/tuple, dtype=np.float32) 当用户不指定dtype时,python编辑器会自动选择合适的数据类型
import numpy as np a=np.array([[1,2,3],[4,5,6]])
print(a)
用元组创建同理,也可以使用元组加列表的混合方式进行创建,不过,需要注意的是,这种创建需要同构,也就是首先数据类型要一致,其次每个元素中的数据个数也要一致,否则,称为异构,异构模型将不再适用numpy库中的库函数。
(2)使用Numpy中的库函数进行创建。
常用的函数:

#linspace默认情况下是全闭的,有一个参数可以进行控制,即endpoint,默认情况下是True
a=np.linspace(1,10,4)
b=np.linspace(1,10,4,endpoint=False)
print(a)
print(b)
#a=array([ 1. 4. 7. 10.])
#b=array([ 1. 3.25 5.5 7.75])
有一点需要注意的是这些默认函数,除了arange()已经规定了生成整数外,其他的默认生成的都是浮点型的数据。
(3)从csv文件中读取生成ndarray
np.savetxt(frame, array, fmt='%.18e', delimiter=None)
- frame : 文件、字符串或产生器,可以是.gz或.bz2的压缩文件
- array : 存入文件的数组
- fmt : 写入文件的格式,例如:%d %.2f %.18e
- delimiter : 分割字符串,默认是任何空格,如果是存成csv格式,所以最后一个参数需要写成‘,’
np.loadtxt(frame, dtype=np.float, delimiter=None, unpack=False)
- frame : 文件、字符串或产生器,可以是.gz或.bz2的压缩文件
- dtype : 数据类型,可选
- delimiter : 分割字符串,默认是任何空格
- unpack : 如果True,读入属性将分别写入不同变量
import numpy as np a=np.ones((3,2))
np.savetxt("e:/ee.csv",a,fmt="%d",delimiter=',')
b=np.loadtxt("e:/ee.csv",dtype=np.int,delimiter=',')
print(b)
三、narray的一些属性

这些是narray的成员数据值,可以直接使用成员访问符进行查看。
import numpy as np a = np.array([[1,2,3],[4,5,6],[7,8,9]])
print(a.shape)
print(a.size)
print(a.dtype)
print(a.ndim) # output:
# (3, 3)
#
# int32
#
机器学习 Numpy库入门的更多相关文章
- 数据分析与展示——NumPy库入门
这是我学习北京理工大学嵩天老师的<Python数据分析与展示>课程的笔记.嵩老师的课程重点突出.层次分明,在这里特别感谢嵩老师的精彩讲解. NumPy库入门 数据的维度 维度是一组数据的组 ...
- Python数据分析与展示(1)-数据分析之表示(1)-NumPy库入门
Numpy库入门 从一个数据到一组数据 维度:一组数据的组织形式 一维数据:由对等关系的有序或无序数据构成,采用线性方式组织. 可用类型:对应列表.数组和集合 不同点: 列表:数据类型可以不同 数组: ...
- 数据分析之Numpy库入门
1.列表与数组 在python的基础语言部分,我们并没有介绍数组类型,但是像C.Java等语言都是有数组类型的,那python中的列表和数组有何区别呢? 一维数据:都表示一组数据的有序结构 区别: 列 ...
- 机器学习 Matplotlib库入门
2017-07-21 15:22:05 Matplotlib库是一个优秀的python的数据可视化的第三方类库,其中的pyplot支持了类似matlab的图像输出操作.matplotlib.pyplo ...
- Python——NumPy库入门
1.数据的纬度 维度:一组数据的组织形式 1.1 一维数据 一维数据由对等关系的有序或无序数据构成,采用线性方式组织 ,对应列表.数组和集合等概念 列表:数据类型可以不同 ,如 3.1413, 'pi ...
- NumPy库入门
ndarray数组的元素类型 ndarray数组的创建 ndarray数组的操作 ndarray数组的运算
- 机器学习三剑客之Numpy库基本操作
NumPy是Python语言的一个扩充程序库.支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库.Numpy内部解除了Python的PIL(全局解释器锁),运算效率极好,是大量机 ...
- 简单记录numpy库的某些基本功能
这里介绍python的一个库,numpy库,这个库是机器学习,数据分析最经常用到的库之一,也是利用python做数据必须用到的一个库,入门机器学习学的第一个python库就是它了. 先对其导入到pyt ...
- NumPy简单入门教程
# NumPy简单入门教程 NumPy是Python中的一个运算速度非常快的一个数学库,它非常重视数组.它允许你在Python中进行向量和矩阵计算,并且由于许多底层函数实际上是用C编写的,因此你可以体 ...
随机推荐
- zw版【转发·台湾nvp系列Delphi例程】HALCON HomMat2dRotate1
zw版[转发·台湾nvp系列Delphi例程]HALCON HomMat2dRotate1 procedure TForm1.Button1Click(Sender: TObject);var img ...
- sift 与 surf 算法
http://blog.csdn.net/cy513/article/details/4414352 SURF算法是SIFT算法的加速版,OpenCV的SURF算法在适中的条件下完成两幅图像中物体的匹 ...
- 20155239 2016-2017-2 《Java程序设计》第5周学习总结
教材内容学习 第八章 JAVA异常架构 Java异常是Java提供的一种识别及响应错误的一致性机制. Java异常机制可以使程序中异常处理代码和正常业务代码分离,保证程序代码更加优雅,并提高程序健壮性 ...
- Python: ljust()|rjust()|center()字符串对齐
通过某种对齐方式来格式化字符串 ①对于基本的操作,可以使用字符串的ljust(),rjust(),center() ②函数format()同样可以用来很容易的对齐字符串,使用<,>,~
- Kintone学习
kintone JavaScript编码指南 编码的注意地方: 文字编码 使用 utf-8
- mysql事务(一)——redo log与undo log
数据事务 即支持ACID四大特性. A:atomicity 原子性——事务中所有操作要么全部执行成功,要么全部执行失败,回滚到初始状态 C:consistency 一致性—— ...
- Python之os.path路径模块中的操作方法总结
#os.path模块主要集成了针对路径文件夹的操作功能,这里我们就来看一下Python中的os.path路径模块中的操作方法总结,需要的朋友可以参考下 解析路径路径解析依赖与os中定义的一些变量: o ...
- finedb(内置的HSQL数据库)迁移数据到MySQL
finedb(内置的HSQL数据库)迁移数据到MySQL 1. 前言 在FineBI中,决策平台的数据(用户.角色.组织机构.权限等信息)是存储在finedb数据库中的,默认情况下finedb是一个内 ...
- 作为从业人员,如果一定要学一门新的编程语言,那么它一定是c++
作为从业人员,如果一定要学一门新的编程语言,那么它一定是c++. 无论各种编程语言排行榜如何变化,什么语言最赚钱,想成为真正的程序员,那么c/c++是必修课,因为几乎所有的底层都是c/c++编写的,各 ...
- HTML 和 JavaScript 编写简单的 404 界面
编写简单的 404 界面,也可以用来做 500 报错界面,还会飘东西,特别好,蛮漂亮的! <!DOCTYPE html> <html> <head> <met ...