I have been running a for loop for 4 days now. I understand that there are better ways to do it, but I needed to run it just once. Is there a way to check the progress without interrupting the loop? I’m terrified to loose all of my progress. This is my code
#scoring the sentences for i in range(len(df.hope)): for word in words: df.hope[i] += df.text[i].count(word) for word_f in words_f: df.fear[i] += df.text[i].count(word_f)
Advertisement
Answer
Given the information from your comment, here is the most efficient way of computing it in Python (as far as I know).
df['hope'] = df.text.str.count("(" + "|".join(words) + ")") df['fear'] = df.text.str.count("(" + "|".join(words_f) + ")")
Hopefully this will terminate in a reasonable amount of time!
Edit:
I forgot to add that you have to cast the text column to the “string” datatype. Before doing the above, cast the text
column using
df.text = df.text.astype("string")