0
私は、PandasのDataFrameを変更して管理するために、Python 3でコンテキストマネージャを作成しました。DataFrame用のカスタムContextManager
私は削除、更新、挿入の3つの機能を持っています。
私の質問はこれです。どのようにして、データフレームの結果をwith文の外のユーザーに戻すことができますか?私は戻ってContextManagerから私の更新された値を取得するにはどうすればよい
`` `
df = pd.DataFrame()
with Editor(df) as editor:
for idx, row in editor:
row['COLUMN'] = "RANDOM VALUE"
editor.update(idx, row)
df['COLUMN'] # still has original values
` ``
?
class Editor():
def __init__(self, df):
self.df = df
def __enter__(self):
return self.df
def __exit__(self, *args):
pass
def update(self):
pass
ですから、forループ直後 df = editor.df
ような何かを行うことができます変更されたオブジェクトが完了します:
エディタオブジェクトデータを使用したくない場合は、なぜ最初にそのオブジェクトを作成していますか?どのように静的な、またはモジュールの削除、更新と挿入のメソッドとdf自体のループ?コンテキストマネージャーの必要もありません。 – ali