本文共 3930 字,大约阅读时间需要 13 分钟。
Scalar attritubles and method 2018/7/3 2018/11/22
-------------------------------------------------------------------------------------------
1.属性方法
属性 | 说明 |
generic.flags | 标志的整数值 |
generic.shape | 数组维度的元组 |
generic.strides | 每个维度中的字节元组步骤 |
generic.ndim | 数组维数 |
generic.data | 指向数据开始的指针 |
generic.size | gentype中的元素数量 |
generic.itemsize | 一个元素的长度以字节为单位 |
generic.base | 基础对象 |
generic.dtype | 获取数组数据描述符 |
generic.real | 标量的实部 |
generic.imag | 标量的虚部 |
generic.flat | 标量的一维视图 |
generic.T | 颠倒 |
generic.__array_interface__ | 数组协议:Python方面 |
generic.__array_struct__ | 数组协议:结构 |
generic.__array_priority__ | 阵列优先。 |
generic.__array_wrap__ | sc .__ array_wrap __(obj)从数组返回标量 |
方法 | 数组标量与数组具有完全相同的方法。例外如下: |
generic | numpy标量类型的基类 |
generic.__array__ | sc .__ array __(| type)返回0-dim数组 |
generic.__array_wrap__ | sc .__ array_wrap __(obj)从数组返回标量 |
generic.squeeze | 未实现(虚拟属性) |
generic.byteswap | 未实现(虚拟属性) |
generic.__reduce__ | 腌菜的帮手 |
generic.__setstate__ | |
generic.setflags | 未实现(虚拟属性) |
2.定义新类型 1)从内置的标量类型中构造结构化类型dtypes外2)子类化 ndarray和覆盖感兴趣的方法。这将在一定程度上起作用,但内部某些行为是由数组的数据类型固定的。3)完全自定义数组的数据类型,您需要定义一个新的数据类型,并将其注册到NumPy。这种新类型只能用C语言定义,使用NumPy C-API。-------------------------------------------------------------------------------------------3.标量实例
import numpy as np
a=np.arange(10,22).reshape(3,4)
x=a[0,0]
print('1标志的整数值=',a.flags)
print('2数组维度的元组=',a.shape)
print('3每个维度中的字节元组=',a.strides)
print('4数组维数=',a.ndim)
print('5指向数据开始的指针=',a.data)
print('6gentype中的元素数量=',a.size)
print('7一个元素的长度以字节为单位=',a.itemsize)
print('8基础对象=',a.base)
print('9获取数组数据描述符=',a.dtype)
print('10标量的实部=',a.real)
print('11标量的虚部=',a.imag)
print('12标量的一维视图=',a.flat)
print('13颠倒=',a.T)
print('14数组协议:Python方面=',a.__array_interface__)
print('15数组协议:结构=',a.__array_struct__)
print('16阵列优先=',a.__array_priority__)
print('17从数组返回标量=',a.__array_wrap__)
#------------------------------------------------------------------------
print('1 标志的整数值=',x.flags)
print('2 数组维度的元组=',x.shape)
print('3 每个维度中的字节元组=',x.strides)
print('4 数组维数=',x.ndim)
print('5 指向数据开始的指针=',x.data)
print('6 gentype中的元素数量=',x.size)
print('7 一个元素的长度以字节为单位=',x.itemsize)
print('8 基础对象=',x.base)
print('9 获取数组数据描述符=',x.dtype)
print('10 标量的实部=',x.real)
print('11 标量的虚部=',x.imag)
print('12 标量的一维视图=',x.flat)
print('13 颠倒=',x.T)
print('14 数组协议:Python方面=',x.__array_interface__)
print('15 数组协议:结构=',x.__array_struct__)
print('16 阵列优先=',x.__array_priority__)
print('17 从数组返回标量=',x.__array_wrap__)
--------------------------------------------------------------------------
1 标志的整数值= C_CONTIGUOUS : True |
F_CONTIGUOUS : True |
OWNDATA : True |
WRITEABLE : False |
ALIGNED : True |
WRITEBACKIFCOPY : False |
UPDATEIFCOPY : False |
1标志的整数值= C_CONTIGUOUS : True |
F_CONTIGUOUS : False |
OWNDATA : False |
WRITEABLE : True |
ALIGNED : True |
WRITEBACKIFCOPY : False |
UPDATEIFCOPY : False |
2 数组维度的元组= () |
2数组维度的元组= (3, 4) |
3 每个维度中的字节元组= () |
3每个维度中的字节元组= (16, 4) |
4 数组维数= 0 |
4数组维数= 2 |
5 指向数据开始的指针= <memory at 0x0000000005EDBB88> |
5指向数据开始的指针= <memory at 0x0000000005EA7DC8> |
6 gentype中的元素数量= 1 |
6gentype中的元素数量= 12 |
7 一个元素的长度以字节为单位= 4 |
7一个元素的长度以字节为单位= 4 |
8 基础对象= None |
8基础对象= [10 11 12 13 14 15 16 17 18 19 20 21] |
9 获取数组数据描述符= int32 |
9获取数组数据描述符= int32 |
10 标量的实部= 10 |
10标量的实部= [[10 11 12 13] |
[14 15 16 17] |
[18 19 20 21]] |
11 标量的虚部= 0 |
11标量的虚部= [[0 0 0 0] |
[0 0 0 0] |
[0 0 0 0]] |
12 标量的一维视图= <numpy.flatiter object at 0x0000000002A91BD0> |
12标量的一维视图= <numpy.flatiter object at 0x0000000002A91BD0> |
13 颠倒= 10 |
13颠倒= [[10 14 18] |
[11 15 19] |
[12 16 20] |
[13 17 21]] |
14 数组协议:Python方面= {'data': (45545216, False), 'strides': None, 'descr': [('', '<i4')], 'typestr': '<i4', 'shape': (), 'version': 3, '__ref': array(10)} |
14数组协议:Python方面= {'data': (41788496, False), 'strides': None, 'descr': [('', '<i4')], 'typestr': '<i4', 'shape': (3, 4), 'version': 3} |
15 数组协议:结构= <capsule object NULL at 0x0000000005EDAA20> |
15数组协议:结构= <capsule object NULL at 0x0000000005EDAA20> |
16 阵列优先= -1000000.0 |
16阵列优先= 0.0 |
17 从数组返回标量= <built-in method __array_wrap__ of numpy.int32 object at 0x0000000005B63F90> |
17从数组返回标量= <built-in method __array_wrap__ of numpy.ndarray object at 0x0000000002E7B030> |
转载地址:https://chunyou.blog.csdn.net/article/details/84332760 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!