根据pandas中的列中的值从DataFrame中选择特定行

时间:2018-03-26 14:44:43

标签: python pandas numpy count pandas-groupby

我正在做情绪分析项目。我得到了结果。我计算了积极,中立和消极的数量。

这是代码

ltweet.groupby(['sentiment_type'])['sentiment_neutral'].count()


# ltweet= the name of object
# sentiment_type= column
#sentiment_neutral= column

这里;输出

Out[105]:
sentiment_type
NEGATIVE     280
NEUTRAL     1308
POSITIVE    1193
Name: sentiment_neutral, dtype: int64

我只想显示'POSITIVE'(不是负面和中性)

我尝试了其他代码但仍然出错。谁能帮我这个?

3 个答案:

答案 0 :(得分:0)

首先过滤您的数据框:

ltweet.query('sentiment_type == "POSITIVE"')\
      .groupby('sentiment_type')['sentiment_neutral'].count()

答案 1 :(得分:0)

你试过这个吗?

ltweet.groupby(['sentiment_type'])['sentiment_neutral'].count().loc['POSITIVE']

从文档中: https://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.loc.html

答案 2 :(得分:0)

这是另一种方法。您可以只筛选出积极的情绪,然后计算行数

,而不是使用分组依据
cnt_pos =ltweet[ltweet["sentiment_type"]=="POSITIVE"]["sentiment_type"].count()

出于打印目的

print("POSITIVE {0}".format(cnt_pos))