我想從熊貓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:當調用一個Python對象
只要你知道,你可以動態將屬性添加到Python對象。所以,假設你有一個由變量'df'引用的'pd.DataFrame',那麼你可以做'df.name ='huy'' –
而且,在對'pandas'數據結構進行子類化時還有特殊的考慮。請參閱[文檔](http://pandas.pydata.org/pandas-docs/stable/internals.html#subclassing-pandas-data-structures) –