Now using language dependent senti analizier. no compound score anymore.
This commit is contained in:
parent
f0d4eadf28
commit
a20f7331bb
8 changed files with 153 additions and 72 deletions
|
|
@ -3,6 +3,35 @@ import pandas as pd
|
|||
from sqlalchemy import desc, select
|
||||
from Tables import Toots
|
||||
|
||||
|
||||
def calculateSentimentCount():
|
||||
query = f'''SELECT DATE(datetime) as date, sentiment, COUNT(sentiment) as sentimentCount
|
||||
FROM Toots
|
||||
GROUP BY DATE(datetime),
|
||||
sentiment
|
||||
HAVING datetime >= DATE("now","-1 day")
|
||||
AND datetime < DATE("now")'''
|
||||
return pd.read_sql(
|
||||
query,
|
||||
databaseUrl,
|
||||
parse_dates=["datetime"]
|
||||
)
|
||||
|
||||
def calculateSentimentMean(dataframe):
|
||||
negativeSentimentSum = dataframe[dataframe['sentiment'] == 'negative']['sentimentCount'].sum() * -1
|
||||
positiveSentimentSum = dataframe[dataframe['sentiment'] == 'positive']['sentimentCount'].sum()
|
||||
sentimentSum = dataframe['sentimentCount'].sum()
|
||||
sentimentMean = (negativeSentimentSum + positiveSentimentSum) / sentimentSum
|
||||
sentimentDate = dataframe.loc[0]['date']
|
||||
return pd.DataFrame.from_records(
|
||||
[
|
||||
{
|
||||
'date': sentimentDate,
|
||||
'sentimentsMean': sentimentMean
|
||||
}
|
||||
]
|
||||
)
|
||||
|
||||
class CRUDManager():
|
||||
|
||||
def saveToDatabase(self, dataframe, table:str, useIndex=False):
|
||||
|
|
@ -16,21 +45,4 @@ class CRUDManager():
|
|||
|
||||
def getLastToot(self):
|
||||
stmt = select(Toots.tootId).order_by(desc('datetime'))
|
||||
return session.scalars(stmt).first()
|
||||
|
||||
def calculateAggregates(self, column, aggregate='Count'):
|
||||
if (aggregate=='Count'):
|
||||
addGroup = f', {column} '
|
||||
else:
|
||||
addGroup = ''
|
||||
query = f'''SELECT DATE(datetime) as date {addGroup}, {aggregate}({column}) as {column}{aggregate}
|
||||
FROM Toots
|
||||
GROUP BY DATE(datetime)''' \
|
||||
+ addGroup \
|
||||
+ '''HAVING datetime >= DATE("now","-1 day")
|
||||
AND datetime < DATE("now")'''
|
||||
return pd.read_sql(
|
||||
query,
|
||||
databaseUrl,
|
||||
parse_dates=["datetime"]
|
||||
)
|
||||
return session.scalars(stmt).first()
|
||||
Loading…
Add table
Add a link
Reference in a new issue