What I mean by a chainable operation is that the chainable operation can use the latest dataframe created by previous operations. For example, consider the following:
array.ChainableOpA().ChainableOpB().ChainableOpC()
In this way, we can keep doing things "continually" and more clearly. Such design is provided in pandas.
numpy has many fucntions that are not "methods" of ndarray class. For example, you can call numpy.nanmean but there is no array.nanmean. This kind of design in numpy prohibits chainable operations.
1) So why would this happen? Is it due to performance issues or some zens of numpy?
2)And do we have a solution for this? I can think of subclassing ndarray and supplying the methods you want but seems tedious. And I found after you subclassing ndarray, the IDE I used, PyCharm, cannot recognize it as an array for displaying in SciView.