パンダでデータフレームをフィルタリングする構文を実装するにはどうすればよいですか? (df[df.column1 > someValue]
)パンダの構文を複製するには? (データフレームをフィルタリングする)
私は、データフレームをフィルタリングするときにPandasと同じ構文を持つクラスを作成しようとしています。
df[df.column1 > someValue]
私は
df.column1
df['column1']
の構文のための方法__getattr__
と__getitem__
を実装しかし、私は方法がわからない:私はこの1つのようDATAFRAME df = DataFrame(someData)
の構文を複製するにはどうすればよい
両方を一緒にリンクする。また、私はパンダのコードからコピーする機能を見つけることができませんでした。
この問題の実装か、Pandasの関数への参照は大きな助けになります。
編集:私も私のコラムクラスの比較メソッドを実装する必要がありました
from tier tools import compress
def __getitem__(self, name):
"""Get items with [ and ]
"""
#If there is no expression, return a column
if isinstance(name, str):
return self.data[name]
#if there was an expression return the dataframe filtered
elif isinstance(name, list):
ind = list(compress(range(len(name)), name))
temp = DataFrame([[self.data[c].values[i]
for i in ind]
for c in self.columns],
columns=self.columns)
return temp
注:次のように私は__getitem__
機能を実装した回答にヒント後(ソリューション)
(シリーズ)。 フルコードはhereで見ることができます。