如何每天计算两个变量之间的比率

时间:2019-07-17 17:13:08

标签: python-3.x pandas count aggregation

我目前正在进行情感分析,并且有一个包含两列的表格。
1.日期和时间
2.得分(正面得分为+1,负面得分为-1)

现在我要计算以下内容:
-平均情感得分,基于日期(每日)的汇总和df中的值
-每天在单独的列中计算正负数量(即1500 pos和800 neg)
-每天另一列中的阳性和阴性比率(例如,阳性/(阳性+阴性)

我能够计算出每天的平均情绪得分,但使用其他计算方法,我会遇到一些问题。

twitter_data_avg_sentiments = twitter_data.groupby('date_only').agg({'score':np.mean}).reset_index()

该计算工作正常。 对于pos / neg和它们的计数之间的比率,我有一些问题,因为我不知道如何每天将这些值分组。每次尝试都会引发一些错误。

基本计算如下:

twitter_data_avg_sentiments['pos']=(twitter_data.score>0).sum()
twitter_data_avg_sentiments['neg']=(twitter_data.score<0).sum()

twitter_data_avg_sentiments['pos_rat']=(twitter_data.score>0).mean()
twitter_data_avg_sentiments['neg_rat']=(twitter_data.score<0).mean()

这是我的结果:

date_only   score       pos     neg     pos_rat     neg_rat
2019-04-07  0.000000    3343    1670    0.666866    0.333134
2019-04-08  0.314286    3343    1670    0.666866    0.333134

如您所见,“得分”计算得很好。但是列pos,neg,pos_rat和neg_rat只是整个数据的值(即,我有5013、3343个pos和1670个neg,样本)。所需的输出(仅作为示例):

date_only   score       pos neg pos_rat neg_rat
2019-04-07  0.000000    20  20   0.5     0.5
2019-04-08  0.314286    150 61   0.710   0.289

有人可以帮助我如何将groupby函数集成到我的计算中吗?

0 个答案:

没有答案