gpt4 book ai didi

python - Pandas 计数正/负/中性值

转载 作者:行者123 更新时间:2023-11-28 21:42:59 25 4
gpt4 key购买 nike

在 Python Pandas 中,我有一个包含以下格式的列和记录的数据框:

text           source    senti
-------------------------------
great food site1 0.6
awful staff site4 -0.4
good chef site8 0.4
average food site6 0.05
bad food site2 -0.8

文本栏本质上是对某事的描述或意见。我想对这些数据集的平均情绪得出一些结论,输出如下。

sentiment    count
----------------
positive 2
neutral 1
negative 2

我们将“senti”的数量分为正面、负面或中性。

在满足以下条件时,将情绪计为每个组:

  • 正面记录的情绪 >0.1
  • 中性记录的分数 >-0.1 和 <0.1
  • 负记录的得分为<-0.1

提前致谢

最佳答案

我会使用 pd.cut + groupby

cut = pd.cut(
df.senti,
[-np.inf, -.1, .1, np.inf],
labels=['positive', 'neutral', 'negative']
)

df.groupby(cut).senti.count().reset_index(name='count')

senti count
0 positive 2
1 neutral 1
2 negative 2

正如@root 所指出的,pd.value_countscut 变量上给出了相同的解决方案。

pd.value_counts(cut, sort=False).rename_axis('senti').reset_index(name='count')

关于python - Pandas 计数正/负/中性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42907842/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com