机器学习 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编写的,因此你可以体 ...
随机推荐
- 我的sublime 插件配置
一个插件就是一个软件 ,这就是sublime的理念 . 1.Packag control 给sublime配置插件当然少不了Package control ,首先安装 Package control ...
- CATiledLayer
CATiledLayer 有些时候你可能需要绘制一个很大的图片,常见的例子就是一个高像素的照片或者是地球表面的详细地图.iOS应用通畅运行在内存受限的设备上,所以读取整个图片到内存中是不明智的.载入大 ...
- ng-深度学习-课程笔记-0: 概述
课程概述 这是一个专项课程(Specialization),包含5个独立的课程,学习这门课程后做了相关的笔记记录. (1) 神经网络和深度学习 (2) 改善深层神经网络:超参数调试,正则化,优化 ( ...
- Linux配置自动时间同步
Linux配置自动时间同步时间同步命令:ntpdate -s time.windows.com自动时间同步:让linux从time.windows.com自动同步时间vi /etc/crontab加上 ...
- 文件系统、服务、防火墙、SELINUX——安全四大金刚
一提到安全,大家都会想到防火墙,和文件系统权限.而实际工作环境中,我们在Linux的安全配置,会涉及到四个级别.我们思考一个场景,你要在百度盘中存放一个文件,这个动作需要考虑下面四个权限. 1 fir ...
- 【翻译】std::remove - C++ Reference
函数模板 std::remove 头文件<algorithm> template <class ForwardIterator, class T> ForwardIterato ...
- npm 查看全局安装过的包
查看全局安装的包 npm list -g --depth 0 非全局安装的包 npm list --depth 0 如果不加参数 --depth 0会显示安装的包以及相关的依赖包,会显示的很详细.
- bzoj 2038 A-小Z的袜子[hose] - 莫队算法
作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿.终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命…… 具体来说,小Z把这N只袜子从1到N编号,然后从 ...
- Entity Framework 6 和 MVC5
网站地址: Entity Framework 6 http://msdn.microsoft.com/en-us/data/ef.aspx MVC5 http://www.asp.net ...
- Python3基础 str format 输出花括号{}
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...