0
向DataFrame添加列併產生新的DataFrame,但不復制整個數據的最有效方法是什麼?綜觀pandas.DataFrame.assign的實現:pd.DataFrame.assign(x = series)without deep copy
class DataFrame()
def assign(self, **kwargs):
data = self.copy() # deep=True is the default!
...
我正在使用熊貓生產系統,我想(雖然由memmapped ndarrays大多是支持我們的dataframes運行〜500 MB),以儘量減少內存使用。上面看起來很慢(AND時間)。 如上所述的深度拷貝不必要地將全部數據帶入RAM並導致交換。通常,我們不應該需要超過500Mb +的小型索引,但是像這樣的副本會殺死我們的服務器。
所以通過「_yield一個新的DataFrame_」你真的意味着有一個DataFrame共享內存的每一列,除了新的DataFrame的新的? – miradulo
是的 - 我只是想要一個數據幀對象有已分配的列,加上對原始列的引用。 – user48956