cleanedtrain1 = pd.read_csv('/kaggle/input/mission-data-cleaning-part-1/cleanedtrain1.csv')
длина cleanedtrain1 равна 223549
приведенный ниже код занимает много времени:
for i in range(len(cleanedtrain1)):
str1 = cleanedtrain1['comment_text'][i]
#print( re.sub(r'\S+ +\* +\S+', lambda x: x.group().replace(' ', '*') , str1) )
nw = r"[]*!@#$%^&()[{};:,./<>?\\|`~=_+-]"
new = re.sub(rf'(\S) {nw} (\S)', r'\1****\2' , str1)
review = re.sub('[^a-zA-Z*]', ' ', new)
review = review.lower()
review = review.split()
ps = PorterStemmer()
review = [ps.stem(word) for word in review if not word in set(stopwords.words('english'))]
review = ' '.join(review)
cleanedtrain1['comment_text'][i] = review
затем выдает эту ошибку:
RecursionError: maximum recursion depth exceeded in comparison
какое решение в этом случае? Примечание: я видел несколько решений в stackoverflow, но они не дублируются, потому что у них нет такой проблемы при использовании pandas фрейма данных.