gpt4 book ai didi

python - 用 Pandas 计算一些分组数据的出现次数

转载 作者:太空宇宙 更新时间:2023-11-03 13:57:48 29 4
gpt4 key购买 nike

我有一个结构如下的数据集:

id    date       body        sentiment
1 1/1/2018 Some Text Positive
2 1/1/2018 Some Text Negative
3 1/1/2018 Some Text None
4 1/2/2018 Some Text Positive
5 1/2/2018 Some Text None

对于每一天,我都有一些信息,例如正文(一般文本)和相关的情绪。我想知道每一天的正数、负数和无(无值)行数。

我已经尝试过类似的方法但不起作用:

df.groupby('date', 'sentiment').count()

df['positive'] = df.groupby('date', 'sentiment').apply(lambda x: x is Positive).count()

有什么想法吗?

最佳答案

使用crosstabmerge并离开加入:

df = df.merge(pd.crosstab(df['date'], df['sentiment']), on='date', how='left')
print (df)
id date body sentiment Negative None Positive
0 1 1/1/2018 Some Text Positive 1 1 1
1 2 1/1/2018 Some Text Negative 1 1 1
2 3 1/1/2018 Some Text None 1 1 1
3 4 1/2/2018 Some Text Positive 0 1 1
4 5 1/2/2018 Some Text None 0 1 1

详细信息:

print (pd.crosstab(df['date'], df['sentiment']))
sentiment Negative None Positive
date
1/1/2018 1 1 1
1/2/2018 0 1 1

另一种解决方案 GroupBy.sizejoin :

df = df.join(df.groupby(['date', 'sentiment']).size().unstack(fill_value=0), on='date')

关于python - 用 Pandas 计算一些分组数据的出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53206822/

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