首页 > 解决方案 > 为什么熊猫在大量递归时会变成 numpy?

问题描述

为什么这适用于尺寸 1000 而不是像 10.000 这样的更大尺寸?看起来熊猫系列变成了一个数字更大的numpy数组?

def recursive(x):
    if len(x) == 1: 
        return pd.Series(0)    
    return pd.Series(x.iloc[0]).append(recursive(x.iloc[1:]))

recursive(pd.Series(np.zeros(1000))) #all good
recursive(pd.Series(np.zeros(10000))) #AttributeError: 'numpy.ndarray' object has no attribute 'iloc'

标签: pythonpandasnumpyrecursion

解决方案


您的内存不足,无法生成另一个熊猫系列。

Pandas 非常灵活——也许有一种非递归的方式来解决您的问题?


推荐阅读