繁体   English   中英

将函数应用于多索引数据框

[英]Applying a function to a muti-index dataframe

我想对以下数据框执行操作:

index   date        username    count
0       2015-11-01  1           16
1       2015-11-01  2           1
2       2015-11-01  3           1
3       2015-10-01  1           2
4       2015-10-01  4           29
5       2015-10-01  5           1
6       2014-09-01  1           3
7       2014-09-01  3           1
8       2014-09-01  4           1

并应用将对此进行操作:

index   date        mean
0       2015-11-01  6
1       2015-10-01  10.7
2       2014-09-01  1.3

计算将给定日期(例如,对于2015-11-01是16 + 1 + 1 = 18)中所有计数的总和除以给定日期(例如,对于2015-10-)用户名的唯一数目01有3)。 创建了一个新的均值栏以记录计算,在这种情况下,我们称其为均值。

我一直在尝试使用DataFrame中的“应用”方法,但尚未成功。 帮助将不胜感激。 谢谢

您可以使用GroupBy + sum除以GroupBy + nunique

g = df.groupby('date')
res = g['count'].sum().div(g['username'].nunique())\
                .rename('mean').reset_index()

print(res)

         date       mean
0  2014-09-01   1.666667
1  2015-10-01  10.666667
2  2015-11-01   6.000000

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM