网站首页 > 文章中心 > 其它

python中array函数_python numpy array函数

作者:小编 更新时间:2023-09-02 10:59:28 浏览量:309人看过

Python数据结构之Array用法实例

Python数据结构之Array用法实例

这篇文章主要介绍了Python数据结构之Array用法实例,较为详细的讲述了Array的常见用法,具有很好的参考借鉴价值,需要的朋友可以参考下

import ctypes

python中array函数_python numpy array函数-图1

class Array:

def __init__(self, size):

assert size 0, "Array size must be 0 "

self._size = size

pyArrayType = ctypes.py_object * size

self._elements = pyArrayType()

self.clear(None)

def clear(self, value):

for index in range(len(self)):

python中array函数_python numpy array函数-图2

self._elements[index] = value

def __len__(self):

return self._size

def __getitem__(self, index):

assert index = 0 and index len(self), "index must =0 and = size"

return self._elements[index]

def __setitem__(self, index, value):

def __iter__(self):

return _ArrayIterator(self._elements)

class _ArrayIterator:

def __init__(self, theArray):

self._arrayRef = theArray

self._curNdr = 0

def __next__(self):

if self._curNdr len(theArray):

entry = self._arrayRef[self._curNdr]

sllf._curNdr += 1

return entry

else:

raise StopIteration

return self

def __init__(self, numRows, numCols):

self._theRows = Array(numCols)

for i in range(numCols):

self._theRows[i] = Array(numCols)

def numRows(self):

return len(self._theRows)

def numCols(self):

return len(self._theRows[0])

for row in range(self.numRows):

self._theRows[row].clear(value)

def __getitem__(self, ndxTuple):

row = ndxTuple[0]

col = ndxTuple[1]

assert row=0 and row len(self.numRows())

and col=0 and collen(self.numCols),

"array subscrpt out of range"

theArray = self._theRows[row]

return theArray[col]

def __setitem__(self, ndxTuple, value):

assert row = 0 and row len(self.numRows)

and col = 0 and col len(self.numCols),

"row and col is invalidate"

theArray = self._theRows[row];

theArray[col] = value

希望本文所述对大家的Python程序设计有所帮助.

python中的list和array的不同之处

在Python中,list和array都可以根据索引来取其中的元素,但是list可以用append或者+来新增元素或者添加数组,而array不行.具体区别如下:

①.、作用不同

list是处理一组有序项目的数据结构;

array数组存储单一数据类型的多维数组;

list是Python的内置数据类型;

array数组需要导入标准库才行,不属于内置类型;

list中的数据类不必相同的,即每个元素可以是不同的数据类型;

array则是由Numpy封装,存放的元素都是相同的数据类型;

列表list不可以进行数学四则运算;

数组array可以进行数学四则运算;

Python中numpy.array函数有啥作用呢?

答: 把我们定义的普通数组转化为Numpy中的array类型,这样做的好处就在于可以使用该类型定义的多种数组方法,比如排序取其中的最大值或者最小值.我们就不需要从头开始实现,直接调用相关的API就行.

numpy基础——ndarray对象

numpy 是使用python进行数据分析不可或缺的第三方库,非常多的科学计算工具都是基于 numpy 进行开发的.

它的维度以及个维度上的元素个数由 shape 决定.

标题中的函数就是numpy的构造函数,我们可以使用这个函数创建一个ndarray对象.构造函数有如下几个可选参数:

实例:

此时此刻呢介绍ndarray对象最常用的属性

使用 array 函数,从常规的python列表或者元组中创建数组,元素的类型由原序列中的元素类型确定.

subok 为 True ,并且object是ndarray子类时(比如矩阵类型),返回的数组保留子类类型

某些时候,我们在创建数组之前已经确定了数组的维度以及各维度的长度.这时我们就可以使用numpy内建的一些函数来创建ndarray.

上述三个函数还有三个从已知的数组中,创建 shape 相同的多维数组: ones_like 、 zeros_like 、 empty_like ,用法如下:

除了上述几个用于创建数组的函数,还有如下几个特殊的函数:

特别地, eye 函数的全1的对角线位置有参数k确定

用法如下:

除了上面两个函数还有其他几个类似的从外部获取数据并创建ndarray,比如: frombuffer 、 fromfile 、 fromiter ,还没用过,等用到了在详细记录

ndarray提供了一些创建二维数组的特殊函数.numpy中matrix是对二维数组ndarray进行了封装之后的子类.这里介绍的关于二维数组的创建,返回的依旧是一个ndarray对象,而不是matrix子类.关于matrix的创建和操作,待后续笔记详细描述.为了表述方便,下面依旧使用 矩阵 这一次来表示创建的二维数组.

python中array函数_python numpy array函数-图3

对于一维的ndarray可以使用python访问内置list的方式进行访问:整数索引、切片、迭代等方式

关于ndarray切片

与内置list切片类似,形式:

array[beg:end:step]

beg: 开始索引

end: 结束索引(不包含这个元素)

step: 间隔

需要注意的是 :

特别注意的是,ndarray中的切片返回的数组中的元素是原数组元素的索引,对返回数组元素进行修改会影响原数组的值

除了上述与list相似的访问元素的方式,ndarray有一种通过 列表 来指定要从ndarray中获取元素的索引,例如:

多维ndarray中,每一维都叫一个轴axis.在ndarray中轴axis是非常重要的,有很多对于ndarray对象的运算都是基于axis进行,比如sum、mean等都会有一个axis参数(针对对这个轴axis进行某些运算操作),后续将会详细介绍.

对于多维数组,因为每一个轴都有一个索引,所以这些索引由逗号进行分割,例如:

多维数组的迭代

可以使用ndarray的 flat 属性迭代数组中每一个元素

以上就是土嘎嘎小编为大家整理的python中array函数相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章