我爱编程Python语言与信息数据获取和机器学习机器学习与数据挖掘

NumPy(1)简介,基础属性,数组创建(ones,zeros,

2017-06-05  本文已影响0人  加勒比海鲜王

保留初心,砥砺前行

在使用tensorflow的时候需要对输入的tensor进行处理。

NumPy系统是Python的一种开源的数值计算扩展。这种工具可用来存储和处理大型矩阵,比Python自身的嵌套列表(nested list structure)结构要高效的多。 ——百度百科

因此简单记录一下NumPy的学习笔记,方便进行数据处理。

NumPy官方网站

NumPy Tutorial

[[ 1., 0., 0.],
 [ 0., 1., 2.]]

ndarray.ndim
数组中轴的数量,如下图所示,该数组有横轴纵轴两条轴,所以ndarray.ndim值为2

ndarray.ndim
ndarray.shape
数组的维度,是指明数组每一维的size的整形元组。
ndarray.shape
ndarray.size
数组的所有的数字的数量。
ndarray.size
ndarray.dtype
描述数组中元素的类型的对象。从下图中可以看出返回值并不是一个数据类型,而是数据类型的对象。可以通过ndarray.dtype.name得到它的类型。
ndarray.dtype
ndarray.itemsize
数组中每个元素的字节数。
ndarray.itemsize

使用array函数创建数组。数组的类型由数组中元素的类型得到。
注意:array函数中传入的要是一个list。

import numpy as np
a = np.array([1, 2, 3])
print a
[1 2 3]
import numpy as np
a = np.array([(1, 2, 3), (1, 2, 3), (1, 2, 3)])
print a
[[1 2 3]
 [1 2 3]
 [1 2 3]]

通常,一个数组的元素最初未知,但它的大小已知。因此NumPy提供了几个函数使用初始内容占位符来创建数组。
函数zeros创建全0数组, 函数ones创建全1数组, 函数empty 创建初始值随机的数组。这些数组默认类型为float64,也可以在函数中制定类型
类似oneszeros,存在函数ones_likezeros_like,作用是创建一个与给出的数组相同形状和类型的全1或全0数组。

import numpy as np
a = np.zeros([2, 3])
print a
[[ 0.  0.  0.]
 [ 0.  0.  0.]]
import numpy as np
a = np.ones([2, 3])
print a
[[ 1.  1.  1.]
 [ 1.  1.  1.]]
import numpy as np
a = np.ones([2, 3], dtype=np.int32)
print a
[[1 1 1]
 [1 1 1]]
import numpy as np
a = np.empty([2, 3])
print a
[[  0.00000000e+000   2.68156175e+154   2.12354999e-314]
 [  2.12357331e-314   2.12357331e-314   2.12357336e-314]]

NumPy中有一个类似于range功能的函数arange,和range基本相同,只是返回的不是list而是数组。

np.arange(1, 20, 3)     #从1开始到20,间隔3
array([ 1,  4,  7, 10, 13, 16, 19])

函数linspace,如下代码所示,在1到2中按等差数列找出10个元素。

 np.linspace(1, 2, 10)
array([ 1.        ,  1.11111111,  1.22222222,  1.33333333,  1.44444444,
        1.55555556,  1.66666667,  1.77777778,  1.88888889,  2.        ])

其他数组创建方式见以下相关链接中NumPy(3)的内容。

相关链接:NumPy(2)reshape,dot,flat
相关链接:NumPy(3)full,eye,empty,random

上一篇下一篇

猜你喜欢

热点阅读