Python 从我的数据帧计算加权平均值
我试图计算2009-2018年间某个工作日社交媒体帖子发表次数的加权平均值 这是我的代码:Python 从我的数据帧计算加权平均值,python,pandas,group-by,data-science,Python,Pandas,Group By,Data Science,我试图计算2009-2018年间某个工作日社交媒体帖子发表次数的加权平均值 这是我的代码: weight = fb_posts2[fb_posts2['title']=='status'].groupby('year',as_index=False).apply(lambda x: (x.count())/x.sum()) 我想做的是按年度和工作日分组,计算一年中每个工作日发生的时间,然后除以每年的职位总数。我们的想法是返回一个数据帧,其加权平均值为2009年到2018年间每个工作日发生的次数
weight = fb_posts2[fb_posts2['title']=='status'].groupby('year',as_index=False).apply(lambda x: (x.count())/x.sum())
我想做的是按年度和工作日分组,计算一年中每个工作日发生的时间,然后除以每年的职位总数。我们的想法是返回一个数据帧,其加权平均值为2009年到2018年间每个工作日发生的次数
这是我正在与之交互的数据帧的一个示例:
使用带有normalize参数的.value\u counts()
,仅按年份分组
样本数据
代码:
输出:
import pandas as pd
import numpy as np
np.random.seed(123)
df = pd.DataFrame({'year': np.random.choice([2010, 2011], 1000),
'weekday': np.random.choice(list('abcdefg'), 1000),
'val': np.random.normal(1, 10, 1000)})
df.groupby('year').weekday.value_counts(normalize=True)
year weekday
2010 d 0.152083
f 0.147917
g 0.147917
c 0.143750
e 0.139583
b 0.137500
a 0.131250
2011 d 0.182692
a 0.163462
e 0.153846
b 0.148077
c 0.128846
f 0.111538
g 0.111538
Name: weekday, dtype: float64