パンダSeries
とDataFrames
に新しいメソッドと属性を追加したいと思います。ここでは非常に単純化した例である:Python pandas:サブクラスシリーズとデータフレーム
1ない時間数をカウントする方法は、私はパンダのオブジェクトをサブクラス化により、これまで持っていたものである必要
import pandas as pd
class Serie(pd.Series):
def gaps(self):
return (self.diff().fillna(1) != 1).sum()
class DataSet(pd.DataFrame):
_constructor_sliced = Serie
しかしthis answerに基づいて、私が代わりにこれを行うことができますようだ:
def gaps(self):
return (self.diff().fillna(1) != 1).sum()
pd.Series.gaps = gaps
同様にうまく動作するようです!
In[1]: df = pd.DataFrame({'A':[1,2,4], 'B':[3,2,1]})
In[2]: df.A.gaps()
Out[2]: 1
ここで、そのような状況のベストプラクティスは何ですか? 2番目のオプションは、サブクラス化よりもはるかに簡単ですが、私は何かを見逃しているかもしれません...それは警告がありますか?あるいは、私が忘れた他の選択肢があります。