我已经编写了一个数据容器类,它本质上包含一个numpy-ndarray成员,以及生成时间序列掩码/横截面掩码的方法,在环形缓冲模式下获取日期索引(行#)、处理调整大小时要考虑到数据可能是环形缓冲区,以及实现对形状/维度的限制等

作为类实现的结果,现在我必须通过显式引用*.data成员来访问此对象包装的数据。这很麻烦,我希望在类中实现[]运算符,以便在类的实例上调用时,它引用底层ndarray对象上的相同操作。我怎样才能做到这一点?在def MyArray(object):

def __init__(self, shape, fill_value, dtype):

self.shape = shape

self.fill_value = fill_value

self.dtype = dtype

self.data = numpy.empty(shape, fill_value=fill_value, dtype=dtype)

def reset(self, fill_value=None):

self.data.fill(fill_value or self.fill_value)

def resize(self, shape):

if self.data.ndim != len(shape): raise Exception("dim error")

if self.data.shape < shape: raise Exception("sizing down not permitted")

# do resizing

现在,如果我想在其他地方使用这个容器,我必须这样使用它:

^{pr2}$

我需要明确指出的事实分配数据每次我使用它都太麻烦而且容易出错(我在很多地方都忘记了.data后缀)。在

有没有什么方法可以添加一些运算符,使arr上的切片和索引实际上对arr.data进行隐式的?在

python类中引用数据是通过_重载python类中的[]运算符以引用数字阵列数据内存相关推荐

  1. python中的静态方法如何调用_关于Python中如何使用静态、类、抽象方法的权威指南(译)...

    对于Python中静态.类.抽象方法的使用,我是一直很迷糊的.最近看到一篇技术文章对这方面解释的很好,在此翻译一下,加深印象,也为有需要的同学提供一个方便. Python中方法是如何工作的: 方法即函 ...

  2. python引用计数的原理_深入Python中引用计数

    在python中的垃圾回收机制主要是以引用计数为主要手段以标记清除和隔代回收机制为辅的手段 .可以对内存中无效数据的自动管理!在这篇文章,带着这个问题来一直往下看:怎么知道一个对象能不能被调用了呢? ...

  3. python中接口测试垃圾数据如何清理_巧用PyUnit中unittest特性解决接口测试产生脏数据问题...

    巧用PyUnit中unittest特性解决接口测试产生脏数据问题 一.背景 测试数据创建后需要对其删除,不然可能产生脏数据,对开发和测试.生产环境造成一定影响.其接口框架是基于Python,API规范 ...

  4. python数据框去重_【Python】基于某些列删除数据框中的重复值

    Python按照某些列去重,可用drop_duplicates函数轻松处理.本文致力用简洁的语言介绍该函数. 一.drop_duplicates函数介绍 drop_duplicates函数可以按某列去 ...

  5. python将音频转换成声谱图_理解语音识别系统中的语音数据,傅里叶转换,FFT和声谱特征...

    本篇文章介绍如何使用python进行声音数据分析(语音分析). 总述 每天都会产生大量的语音数据.如果他们能够很容易的被数据科学家所获得来开发AI引擎和进行AI分析,也许会产生不一样的洞见.那些早已意 ...

  6. python增加一列数据计算年龄_无法使用python中的条件计算年龄。得到一个价值

    好吧,我想从数据集中计算出病人的年龄.我最初是用一个函数来计算的,但我从今天算到了生日.所以我试着在病人死亡的案例中加上一个if语句.在这个例子中,我想计算从死亡日期到出生日期的年龄.在 这是我的代码 ...

  7. python中numpy数组的合并_基于Python中numpy数组的合并实例讲解

    基于Python中numpy数组的合并实例讲解 Python中numpy数组的合并有很多方法,如 - np.append() - np.concatenate() - np.stack() - np. ...

  8. python中使用函数编程的意义_总结Python编程中函数的使用要点

    为何使用函数 最大化代码的重用和最小化代码冗余 流程的分解 编写函数 >>def语句 在Python中创建一个函数是通过def关键字进行的,def语句将创建一个函数对象并将其赋值给一个变量 ...

  9. python中使用grpc方法示例_在Python中使用gRPC的方法示例

    本文介绍了在Python中使用gRPC的方法示例,分享给大家,具体如下: 使用Protocol Buffers的跨平台RPC系统. 安装 使用 pip pip install grpcio pip i ...

最新文章

  1. 敏捷开发思想及Scrum实践
  2. android利用WebView实现浏览器的封装
  3. 动态代理案例1:运用Proxy动态代理来增强方法
  4. Selenium3+MoocTest环境搭建常见问题解决方案
  5. jquery $(function(){}) $(document).ready(function(){}); (function(){}); 的区别以及作用
  6. 问题 E: 求1+2+...+n=?
  7. php 利用cookie实现访问次数统计
  8. python find next_bitset中_Find_first()与_Find_next()函数
  9. Tensorflow学习笔记:使用线性回归进行简单分类
  10. 超宽带 DWM1000模块 引脚连接
  11. cuteftp下载文件变成macintosh格式
  12. java io 操作实例
  13. 远期外汇交易的交割日
  14. linux之if语句详解
  15. centos压缩包安装mysql_Centos安装Mysql压缩包方式
  16. 前端模型--css动画(旋转八音盒)
  17. 百度阿里网易大疆等大小厂前端校招面筋 1
  18. ​百度网盘批量转存分享增量更新软件工具助手
  19. 循环冗余校验码例题[转帖]
  20. nodejs+express搭建小程序后台服务器

热门文章

  1. 【Mac】Mac 下 kafka 生产者 控制台 发送长消息被截断
  2. 【kafka】kafka 启动的时候 日志 find a corrupted index file
  3. 【elasticsearch】elasticsearch 搜索结果的含义
  4. spark报错: Yarn application has already ended! killed or unable to launch application master
  5. Spring : Factories这个是什么
  6. Spring : Spring定义Bean的两种方式:lt; bean gt;和@Bean
  7. Spring Boot : 资源加载器
  8. 手把手带你阅读Mybatis源码(三)缓存篇
  9. html表单基础知识,【学习笔记】html基础知识第四更/与用户交互!(表单标签)...
  10. 【MySQL 中 动态sql,游标_】