To get data from function you would have to keep all strings on list - without print() and use return to return it
def sentiment_analyzer_scores(data):
results = []
for sentence in data:
score = analyser.polarity_scores(sentence)
text = "{<40{}".format(sentence, str(score))
results.append(text)
return results
df['results'] = sentiment_analyzer_scores(df['clean_text'])
or in new DataFrame
results = sentiment_analyzer_scores(df['clean_text'])
new_df = pd.DataFrame(results)
But maybe you should use .apply() instread of for-loop
More or less
def sentiment_analyzer_scores(sentence):
score = analyser.polarity_scores(sentence)
returm "{<40{}".format(sentence, str(score))
df['results'] = df['clean_text'].apply(sentiment_analyzer_scores)
or in new DataFrame
results = df['clean_text'].apply(sentiment_analyzer_scores)
new_df = pd.DataFrame(results)
return- but you woulnd need first put all values in list and then return list. OR concatenate all strings in one string..apply()