Source code for pysentimentanalyzer.likert_scale

import pandas as pd
from pysentimentanalyzer.get_aggregated_sentiment_score import aggregate_sentiment_score

[docs]def convert_to_likert(df, col): """Convert the sentiment scores to a likert scale from 1-5 Parameters ---------- df : Pandas DataFrame DataFrame containing the text to perform sentiment analysis col : string Name of the column of text in the Dataframe Returns ------- string: description of the likert scale value int: likert scale value Examples -------- >>> convert_to_likert(counts) """ if not isinstance(df, pd.DataFrame): raise Exception("The first parameter should be a Pandas DataFrame.") if not (col in list(df.columns)): raise Exception("The column parameter should be a column in the DataFrame.") agg_score = aggregate_sentiment_score(df, col) if agg_score >= -1 and agg_score < -0.6: return "very negative", 1 elif agg_score >= -0.6 and agg_score < -0.2: return "negative", 2 elif agg_score >= -0.2 and agg_score <= 0.2: return "neutral", 3 elif agg_score > 0.2 and agg_score <= 0.6: return "positive", 4 elif agg_score >0.6 and agg_score <= 1: return "very positive", 5 else: raise Exception("Aggregate compound score not in the valid range.")