您的位置:首页 > 编程语言 > Python开发

python之tile函数,shape函数,argsort函数介绍

2017-01-31 17:20 477 查看
1.tile函数:

tile函数是模板numpy.lib.shape_base中的函数。函数的形式是tile(A,reps),A的类型几乎所有类型都可以:array, list, tuple, dict, matrix以及基本数据类型int, string, float以及bool类型。reps的类型也很多,可以是tuple,list, dict, array, int,bool.但不可以是float, string, matrix类型。

>>> from numpy import *
>>> tile(2,3)
array([2, 2, 2])
>>> tile((2,3),2)
array([2, 3, 2, 3])
>>> a=[[1,3],[2,4]]
>>> tile(a,3)
array([[1, 3, 1, 3, 1, 3],
[2, 4, 2, 4, 2, 4]])
>>> tile(a,[2,2])
array([[1, 3, 1, 3],
[2, 4, 2, 4],
[1, 3, 1, 3],
[2, 4, 2, 4]])
>>> tile(a,[1,3])
array([[1, 3, 1, 3, 1, 3],
[2, 4, 2, 4, 2, 4]])
>>> a
[[1, 3], [2, 4]]
2.shape函数

shape函数是numpy.core.fromnumeric中的函数,它的功能是读取矩阵的长度,比如shape[0]就是读取矩阵第一维度的长度。它的输入参数可以使一个整数表示维度,也可以是一个矩阵。

>>> b=eye(2)
>>> b
array([[ 1.,  0.],
[ 0.,  1.]])
>>> b.shape
(2, 2)

3.argsort函数

argsort函数返回的是数组值从小到大的索引值,在Python中使用help帮助,即:

>>> import numpy
>>> help(numpy.argsort)
Help on function argsort in module numpy.core.fromnumeric:

argsort(a, axis=-1, kind='quicksort', order=None)
Returns the indices that would sort an array.

Perform an indirect sort along the given axis using the algorithm specified
by the `kind` keyword. It returns an array of indices of the same shape as
`a` that index data along the given axis in sorted order.

Parameters
----------
a : array_like
Array to sort.
axis : int or None, optional
Axis along which to sort. The default is -1 (the last axis). If None,
the flattened array is used.
kind : {'quicksort', 'mergesort', 'heapsort'}, optional
Sorting algorithm.
order : list, optional
When `a` is an array with fields defined, this argument specifies
which fields to compare first, second, etc. Not all fields need be
specified.

Returns
-------
index_array : ndarray, int
Array of indices that sort `a` along the specified axis.
In other words, ``a[index_array]`` yields a sorted `a`.

See Also
--------
sort : Describes sorting algorithms used.
lexsort : Indirect stable sort with multiple keys.
ndarray.sort : Inplace sort.

Notes
-----
See `sort` for notes on the different sorting algorithms.

As of NumPy 1.4.0 `argsort` works with real/complex arrays containing
nan values. The enhanced sort order is documented in `sort`.

Examples
--------
One dimensional array:

>>> x = np.array([3, 1, 2])
>>> np.argsort(x)
array([1, 2, 0])

Two-dimensional array:

>>> x = np.array([[0, 3], [2, 2]])
>>> x
array([[0, 3],
[2, 2]])

>>> np.argsort(x, axis=0)
array([[0, 1],
[1, 0]])

>>> np.argsort(x, axis=1)
array([[0, 1],
[0, 1]])

Sorting with keys:

>>> x = np.array([(1, 0), (0, 1)], dtype=[('x', '<i4'), ('y', '<i4')])
>>> x
array([(1, 0), (0, 1)],
dtype=[('x', '<i4'), ('y', '<i4')])

>>> np.argsort(x, order=('x','y'))
array([1, 0])

>>> np.argsort(x, order=('y','x'))
array([0, 1])
参考: http://www.ithao123.cn/content-770921.html http://blog.csdn.net/maoersong/article/details/21875705
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python tile shape