私はpandas DataFrameからクラスを作成しようとしています。私はDataFrameクラスに属性 'name'を追加したいだけです。しかし、以下のコードは再帰最大深度に達したときにエラーを生成します。どのように動作させるには?おかげ既存のクラスからクラスを構築する
import pandas as pd
class DatFrame(pd.DataFrame):
def __init__(self, name, data=None, index=None, columns=None,
dtype=None, copy=False):
self.name = name
pd.DataFrame.__init__(self, data=None, index=None,
columns=None, dtype=None, copy=False)
x = array([[9, 7, 5],
[7, 3, 1],
[8, 8, 3],
[7, 4, 3]])
cols = ['a', 'b', 'c']
index = ['D', 'E', 'F', 'G']
s = DatFrame('huy', x, index, cols)
エラー:RecursionError:、あなたのデータフレーム
第二に、それが呼び出すことです修正のすべてのパラメータにNone
を渡している
を、あなたは動的にすることができますPythonオブジェクトに属性を追加します。だから、変数 'df'で参照される' pd.DataFrame'があるとしましょう。 'df.name = 'huy''を実行するだけです。 –
また、' pandas'データ構造をサブクラス化する際には特別な配慮が必要です。 [docs](http://pandas.pydata.org/pandas-docs/stable/internals.html#subclassing-pandas-data-structures)を参照してください –