python – pandas对象的子类与其他对象的子类不同?
我正在尝试创建一个Pandas数据结构的子类,在我的代码中替换一个带有Seri??es的子类的dict的子类,我不明白为什么这个示例代码不起作用
可能它不是更改某些对象配置的最佳方法,无论如何我发现这在我的代码中很有用,最重要的是我想了解为什么用dict而不是系列它按预期工作. 非常感谢! 最佳答案
当前答案(熊猫> = 0.13)
Pandas 0.13中的内部重构极大地简化了子类化. Pandas系列现在可以像任何其他Python对象一样进行子类化:
遗产答案(熊猫< = 0.12) 问题是Series使用__new__来确保实例化Series对象. 您可以像这样修改您的类:
但是,最好做一个has-a而不是is-a.或者猴子补丁系列对象.原因是由于数据存储的性质,您在使用pandas时经常会丢失子类.简单的事情
将返回Series对象而不是您的子类.在内部,数据存储在连续的阵列中,并针对速度进行了优化.数据仅在需要时用类封装,并且这些类是硬编码的.另外,如果像s.ix [:5]这样的东西应该返回相同的子类,那么这并不是很明显.这取决于子类的语义以及附加到它的元数据. http://nbviewer.ipython.org/3366583/subclassing%20pandas%20objects.ipynb有一些笔记. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |