python - 如何计算熊猫的调和平均值
问题描述
我有一个如下所示的数据框。Words
指每封电子邮件发送的字数。
sender receiver words
a b 10
a c 5
a c 15
b a 50
b a 30
我对熊猫比较陌生。我想计算 1)每对之间发送的电子邮件数量 2)两个人之间发送的总字数的调和平均值。如何使用hmean()
fromscipy.stats
来获得所需的输出?
sender receiver total_emails total_words
a b hmean([10])
a c hmean([5,15])
b a hmean([50,30])
对于电子邮件的总数,我不确定正确的公式应该是什么。任何帮助,将不胜感激!
解决方案
你可以使用groupby
:
from scipy import stats
df = df.groupby(['sender', 'receiver']).agg(stats.hmean).reset_index(name='total_words')
输出:
sender receiver total_words
0 a b 10.0
1 a c 7.5
2 b a 37.5
推荐阅读
- swift - Swift 将枚举作为字符串或整数返回,具体取决于案例类型
- javascript - 使用 window.open() 函数困境打开 href 锚标记
- javascript - Computed property - price netto and price per one item
- angular - 以角度 5 正确反序列化日期
- docker-for-windows - 无法在 Windows 容器中创建 SSL/TLS 安全通道
- ios - 迅速; 单击推送通知而不打开应用程序时如何打开Safari?
- reactjs - 访问子组件的值
- linux - 命令在终端中运行,但不在 bash 脚本中
- javascript - 我无法理解错误是什么,因为我做的一切都是正确的
- python - 在 django 中创建自定义模板标签