Numpy学习手册

标准安装的Python中用列表(list)保存一组值,可以用来当作数组使用,不过由于列表的元素可以是任何对象,因此列表中所保存的是对象的指针。这样为了保存一个简单的[1,2,3],需要有3个指针和三个整数对象。对于数值运算来说这种结构显然比较浪费内存和CPU计算时间。

此外Python还提供了一个array模块,array对象和列表不同,它直接保存数值,和C语言的一维数组比较类似。但是由于它不支持多维,也没有各种运算函数,因此也不适合做数值运算。

NumPy的诞生弥补了这些不足,NumPy提供了两种基本的对象:ndarray(N-dimensional array object)和 ufunc(universal function object)。ndarray(下文统一称之为数组)是存储单一数据类型的多维数组,而ufunc则是能够对数组进行处理的函数。

学习numpy的一个很好的tutorial,讲得很详细,不过后面的比较深入,有些地方可以跳过。
http://old.sebug.net/paper/books/scipydoc/numpy_intro.html#id8

接下来我对机器学习中主要用到的几种形式总结一下。

1.
rand(d0, d1, …, dn)

np.random.rand(3,2)
array([[ 0.14022471,  0.96360618],  #random
[ 0.37601032,  0.25528411],  #random
[ 0.49313049,  0.94909878]]) #random

random_sample([size])
返回随机的浮点数,在半开区间 [0.0, 1.0)。
(b - a) * random_sample() + a

>>>np.random.random_sample()
>>>0.47108547995356098
>>>np.random.random_sample((5,))
>>>array([ 0.30220482,  0.86820401,  0.1654503 ,  0.11659149,  0.54323428])

shuffle(x)

现场修改序列,改变自身内容。(类似洗牌,打乱顺序)

>>>arr = np.arange(10)
>>>np.random.shuffle(arr)
>>>arr
[1 7 5 2 9 4 3 6 0 8]

>>> arr = np.arange(9).reshape((3, 3))
>>> np.random.shuffle(arr)
>>> arr
array([[3, 4, 5],
   [6, 7, 8],
   [0, 1, 2]])

normal([loc, scale, size])正态(高斯)分布

使用 np.random.RandomState() 获取随机数生成器

>> rng = np.random.RandomState(22)
>> rng.rand(2, 3)
array([[ 0.48168106,  0.42053804,  0.859182  ],
   [ 0.17116155,  0.33886396,  0.27053283]])

numpy.asarray
Convert the input to an array.
Convert a list into an array:

>>>
>>> a = [1, 2]
>>> np.asarray(a)
array([1, 2])

numpy.zeros
Return a new array of given shape and type, filled with zeros.

>>> np.zeros(5)
array([ 0.,  0.,  0.,  0.,  0.])
>>>
>>> np.zeros((5,), dtype=np.int)
array([0, 0, 0, 0, 0])
>>>
>>> np.zeros((2, 1))
array([[ 0.],
   [ 0.]])
>>>
>>> s = (2,2)
>>> np.zeros(s)
array([[ 0.,  0.],
   [ 0.,  0.]])

numpy.sqrt
Return the positive square-root of an array, element-wise.

>>> np.sqrt([1,4,9])
array([ 1.,  2.,  3.])
>>>
>>> np.sqrt([4, -1, -3+4J])
array([ 2.+0.j,  0.+1.j,  1.+2.j])

numpy.ones
Return a new array of given shape and type, filled with ones.

    >>> np.ones(5)
array([ 1.,  1.,  1.,  1.,  1.])
>>>
>>> np.ones((5,), dtype=np.int)
array([1, 1, 1, 1, 1])

numpy.prod
Return the product of array elements over a given axis.

By default, calculate the product of all elements:

>>>
>>> np.prod([1.,2.])
2.0
Even when the input array is two-dimensional:

>>>
>>> np.prod([[1.,2.],[3.,4.]])
24.0
But we can also specify the axis over which to multiply:

>>>
>>> np.prod([[1.,2.],[3.,4.]], axis=1)
array([  2.,  12.])

numpy.savez
Save several arrays into a single file in uncompressed .npz format.

numpy.savetxt
Save an array to a text file.

numpy.load
Load arrays or pickled objects from .npy, .npz or pickled files.

基本上一般的机器学习实验过程中会用到的形式以上都包括了,其他一些不常用的则没举出了。
遇到没见过的形式可以参考下面。
Numpy的官方文档:https://docs.scipy.org/doc/numpy/index.html
PS拒绝眼高手低,这些东西看看简单,但是没写几个theano or TensorFlow程序绝对不容易记住。

### 回答1: scipy和numpy都是Python中非常常用的科学计算库或模块。scipy包含了许多用于科学计算和数据分析的函数和工具,而numpy则是一个用于进行数值计算的库。 scipy和numpy参考手册是官方提供的用于介绍和提供使用指南的文档。这些参考手册以pdf格式提供,方便用户进行下载和打印阅读。 这些参考手册的语言通常简练明了,结构清晰,适合用作学习和查找函数或方法的参考。它们通常包含了对每个模块或子模块的详细描述,包括函数、类和其他对象的用法、参数、示例和文档等。这些参考手册还提供了一些实践中常见问题的解决方案,以及一些示例代码,帮助用户更好地理解如何使用这些库来解决实际问题。 对于想要深入学习和掌握scipy和numpy的用户来说,这些参考手册非常有用。不仅可以通过阅读这些手册来了解库的各种功能和用法,还可以作为用于解决具体问题时的参考工具。这些手册还经常更新,以跟随库的最新变化和新增功能,所以及时下载最新版本的手册也是非常有益的。 总之,scipy和numpy参考手册pdf是一份用于详细介绍和指导如何使用这两个库的文档。它们提供了丰富的信息和资源,帮助用户更好地理解和利用这些强大的科学计算库。 ### 回答2: Scipy和NumpyPython中常用的科学计算库,它们提供了许多有用的函数和工具,用于处理和分析大规模的数据集。对于想要学习和使用这两个库的用户来说,参考手册是非常有用的资源。 Scipy和Numpy参考手册 pdf是一本详细介绍了Scipy和Numpy库中所有函数、类、方法及其参数和用法的电子书。该参考手册总结了库的主要功能和特性,并提供了实际应用示例和代码片段。 这本参考手册包含了Scipy和Numpy的绝大部分功能,例如线性代数、信号处理、数值优化、傅里叶变换等等。通过这本参考手册,用户可以快速查找到某个函数或方法的具体用法和参数设置,避免了大量的查找和试错过程。 由于Scipy和NumpyPython的重要库,所以这本参考手册非常有价值。它可以帮助用户更好地理解和掌握这两个库的使用方法,提高数据处理和分析的效率。对于科研工作者、数据分析师、工程师等使用Python进行科学计算的用户来说,这本参考手册是不可或缺的工具。 总之,Scipy和Numpy参考手册 pdf对于学习和使用Scipy和Numpy库的用户来说是一本非常有用的资源,它提供了详细的文档和示例代码,帮助用户更好地理解和应用这两个库的功能。 ### 回答3: SciPy和NumPy是用于科学计算的两个重要的Python库。它们有广泛的功能和用途,并且为用户提供了大量的函数和工具来进行高效的数值计算、数据处理和科学建模等任务。 关于SciPy和NumPy的参考手册,PDF格式的文档是一个非常有用的资源。它们可以帮助用户深入了解这两个库的特性、用法和常见的问题解决方法。 这些PDF参考手册通常包含了针对每个函数的详细说明,包括函数的参数、返回值和用法示例等。它们还提供了库的整体结构和组件之间的关系,以便用户可以更好地理解它们的内部工作原理。 通过阅读这些参考手册,用户可以更容易地理解和掌握SciPy和NumPy的功能,并且可以更好地将它们应用于自己的科学计算项目中。用户可以根据需要在手册中进行搜索和查找,以找到特定函数或概念的详细信息。 总之,SciPy和NumPy的PDF参考手册为用户提供了方便和实用的资源,可以帮助他们更好地使用这两个库进行科学计算和数据处理。通过阅读这些手册,用户可以更好地掌握这些库的知识和技能,从而提高他们在科学计算领域的能力和效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值