python 执行查找函数会占用大量的内存怎么处理

python 执行查找函数会占用大量的内存怎么处理

def panduan (off,sub):
    pp=data['offer_id'][data['subs_id'].str.contains(sub)].str.contains(off).any()
    return pp
file=np.full((x,y),0,dtype=float)
for i in data2:
    file[hang][0]=i
    shu = 0
    for a in offer:
        shu+=1
        if  panduan(a,i)==True:
                file[hang][shu]=a
        else:
                file[hang][shu]=0
    hang+=1

就是这个pp=data['offer_id'][data['subs_id'].str.contains(sub)].str.contains(off).any()
单独的执行它返回布尔型的,但用在循环中,就大量的占用内存,data是
<class 'pandas.core.frame.DataFrame'>
Int64Index: 516499 entries, 0 to 525249
Data columns (total 5 columns):

Column Non-Null Count Dtype


0 subs_id 516499 non-null object
1 offer_id 516499 non-null object
2 offer_title 516499 non-null object
3 valid_date 516499 non-null object
4 invalid_date 516499 non-null object
dtypes: object(5)
memory usage: 23.6+ MB
None

516499 这个是你的数据量吧,数据量大肯定占用大量内存存储的,这个是正常的