带标记轴的numpy数组

axarra的Python项目详细描述


标题:Axarray 作者:sylvain.guieu@gmail.com

#导言 axarray是一个可以标记轴的numpy数组。

思想是能够操纵数组,并在不知道数组形状顺序的情况下对轴进行操作,但知道与轴的“物理”含义相关的标签。

通常在科学中,用可理解的标签命名阵列轴是有用的。 例如,对于在不同时间拍摄的2d图像,获取立方体的轴名可以是[“time”,“y”,“x”]

axarray对象的目标是这样做。例如,cTIT> A.Mead(轴=“Times”)将在标号为“TIME”的轴上执行平均值。

A1和A2,即使两个Axar阵列具有不同的轴阶,只要它们具有匹配的轴标签,两个AXART阵列可以执行类似A1+A2的二进制操作。

#安装 带着皮普 ` > pip install axarray `

或者来自python路径中的git

` > git clone https://github.com/SylvainGuieu/axarray.git `

#示例

`python >>> a = axarray( np.random.random((10,4,5)), ["time", "y", "x"]) >>> b = a.transpose( ["x","time","y"]) >>> b.axes ["x","time", "y"] `

可操作2转座子阵列,只要与轴名称

匹配即可。

`python >>> (a+b).axes ["time", "y", "x"] ` 使用轴标号

的NUMPY函数

`python >>> a.min(axis="time").shape (4,5) # similar to: >>> np.min(a , axis="time") `

轴可为轴标号

`python >>> a.mean(axis=["x","y"]).shape (10,) `

可以使用方便的应用方法。在非直接调用中非常有用,例如在plot func中

`python >>> a.apply(time_reduce=np.mean, y_idx=slice(0,2)).shape (2,5) `

在一次调用中变换、重塑重命名轴的形状

`python >>> at = a.transform( [("pixel","y","x"),"time"]) >>> at.shape (20, 10)  # (4*5, 10) >>> at.axes ['pixel', 'time'] `

从命名索引中提取图像光谱

`python ### make some indices >>> iy, ix = axarray( np.indices( (3,4)), [0 ,"spatial", "freq"]) >>> ax[:,iy,ix].axes ['time', 'spatial', 'freq'] `

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
用户界面如何在JavaGUI中为按钮创建各种颜色?   使用MSCAPI的RSA密钥包装的java使用   java Spring数据Redis JedisConnectionException:意外的流结束   java饼图未显示预期输出   java hystrixCommand注释commandKey的用途是什么   windows java可以从cmd运行jar,但不能通过双击来运行   java在单击按钮时遍历XML节点   java试图使用日期(int,int,int)构造函数   带有Buildship 2子项目的java不作为项目依赖项链接   java jsonrpc4j:如何从服务器获取列表<SomeObject>?   用于Java应用程序的内存设置MaxDirectMemory和MaxHeapMemory   java如何从以下类型格式化日期   javayoutube。搜索列表搜索不返回任何内容   java My参数在方法中不起作用,因为泛型存在问题   java如何将Map<Key1Type,Val1Type>转换为Map<Key1Type,Val2Type>   JavaJUnit测试:测试用例的改进,测试数组列表的长度?   java如何在Android中解析带有属性值的xml数据?   使用Hibernate对枚举类型进行Java8bean验证