1
現在、私はpandasからDataFrameを継承するクラスを作成しています。例えば、次にipywidgetsを使用してDataFrameを返すボタン
test = Result(np.random.randn(3,4), columns=['A','B','C','D']) #just an example
test_2 = test.new_filter()
::のようなオブジェクトを作成した後
import pandas as pd
from ipywidgets import widgets
from IPython.display import display
import numpy as np
class Result(pd.DataFrame):
@property
def _constructor(self):
return Result
def _filter_done(self, c):
self._column_name = self._filter_dd.value
self._expression = self._filter_txt.value
return self[eval('self.'+ self._column_name +' '+self._expression)]
def new_filter(self):
self._filter_dd = widgets.Dropdown(options=list(self.columns),
description='Column:')
self._filter_txt = widgets.Text(description='Expr:')
self._filter_button = widgets.Button(description = 'Done')
self._filter_box = widgets.VBox([self._filter_dd, self._filter_txt, self._filter_button])
display(self._filter_box)
self._filter_button.on_click(self._filter_done)
:私は、データフレームコマンドの実行手の込んだある「new_filter」と呼ばれる方法を開発することに興味 Widget Output
私が欲しいのは、 'test_2'は 'Result'クラスのオブジェクトであるということです。これには何か解決策はありますか?