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库入门的更多相关文章

  1. 数据分析与展示——NumPy库入门

    这是我学习北京理工大学嵩天老师的<Python数据分析与展示>课程的笔记.嵩老师的课程重点突出.层次分明,在这里特别感谢嵩老师的精彩讲解. NumPy库入门 数据的维度 维度是一组数据的组 ...

  2. Python数据分析与展示(1)-数据分析之表示(1)-NumPy库入门

    Numpy库入门 从一个数据到一组数据 维度:一组数据的组织形式 一维数据:由对等关系的有序或无序数据构成,采用线性方式组织. 可用类型:对应列表.数组和集合 不同点: 列表:数据类型可以不同 数组: ...

  3. 数据分析之Numpy库入门

    1.列表与数组 在python的基础语言部分,我们并没有介绍数组类型,但是像C.Java等语言都是有数组类型的,那python中的列表和数组有何区别呢? 一维数据:都表示一组数据的有序结构 区别: 列 ...

  4. 机器学习 Matplotlib库入门

    2017-07-21 15:22:05 Matplotlib库是一个优秀的python的数据可视化的第三方类库,其中的pyplot支持了类似matlab的图像输出操作.matplotlib.pyplo ...

  5. Python——NumPy库入门

    1.数据的纬度 维度:一组数据的组织形式 1.1 一维数据 一维数据由对等关系的有序或无序数据构成,采用线性方式组织 ,对应列表.数组和集合等概念 列表:数据类型可以不同 ,如 3.1413, 'pi ...

  6. NumPy库入门

    ndarray数组的元素类型 ndarray数组的创建 ndarray数组的操作 ndarray数组的运算

  7. 机器学习三剑客之Numpy库基本操作

    NumPy是Python语言的一个扩充程序库.支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库.Numpy内部解除了Python的PIL(全局解释器锁),运算效率极好,是大量机 ...

  8. 简单记录numpy库的某些基本功能

    这里介绍python的一个库,numpy库,这个库是机器学习,数据分析最经常用到的库之一,也是利用python做数据必须用到的一个库,入门机器学习学的第一个python库就是它了. 先对其导入到pyt ...

  9. NumPy简单入门教程

    # NumPy简单入门教程 NumPy是Python中的一个运算速度非常快的一个数学库,它非常重视数组.它允许你在Python中进行向量和矩阵计算,并且由于许多底层函数实际上是用C编写的,因此你可以体 ...

随机推荐

  1. 我的sublime 插件配置

    一个插件就是一个软件 ,这就是sublime的理念 . 1.Packag control 给sublime配置插件当然少不了Package control ,首先安装 Package control ...

  2. CATiledLayer

    CATiledLayer 有些时候你可能需要绘制一个很大的图片,常见的例子就是一个高像素的照片或者是地球表面的详细地图.iOS应用通畅运行在内存受限的设备上,所以读取整个图片到内存中是不明智的.载入大 ...

  3. ng-深度学习-课程笔记-0: 概述

    课程概述 这是一个专项课程(Specialization),包含5个独立的课程,学习这门课程后做了相关的笔记记录. (1) 神经网络和深度学习 (2)  改善深层神经网络:超参数调试,正则化,优化 ( ...

  4. Linux配置自动时间同步

    Linux配置自动时间同步时间同步命令:ntpdate -s time.windows.com自动时间同步:让linux从time.windows.com自动同步时间vi /etc/crontab加上 ...

  5. 文件系统、服务、防火墙、SELINUX——安全四大金刚

    一提到安全,大家都会想到防火墙,和文件系统权限.而实际工作环境中,我们在Linux的安全配置,会涉及到四个级别.我们思考一个场景,你要在百度盘中存放一个文件,这个动作需要考虑下面四个权限. 1 fir ...

  6. 【翻译】std::remove - C++ Reference

    函数模板 std::remove 头文件<algorithm> template <class ForwardIterator, class T> ForwardIterato ...

  7. npm 查看全局安装过的包

    查看全局安装的包 npm list -g --depth 0 非全局安装的包 npm list --depth 0 如果不加参数 --depth 0会显示安装的包以及相关的依赖包,会显示的很详细.

  8. bzoj 2038 A-小Z的袜子[hose] - 莫队算法

    作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿.终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命…… 具体来说,小Z把这N只袜子从1到N编号,然后从 ...

  9. Entity Framework 6 和 MVC5

    网站地址: Entity  Framework 6   http://msdn.microsoft.com/en-us/data/ef.aspx MVC5     http://www.asp.net ...

  10. Python3基础 str format 输出花括号{}

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...