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):
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 这个是你的数据量吧,数据量大肯定占用大量内存存储的,这个是正常的