- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有以下输入 Pandas 数据框:
Index respID company month score
0 101 AAA Oct'18 8
1 102 AAA Oct'18 10
2 103 AAA Oct'18 5
3 104 AAA Oct'18 4
4 105 BBB Oct'18 5
5 106 BBB Oct'18 6
6 107 BBB Oct'18 8
7 108 BBB Oct'18 1
8 109 AAA Nov'18 5
9 110 AAA Nov'18 10
10 111 AAA Nov'18 4
11 112 AAA Nov'18 7
12 113 AAA Nov'18 8
13 114 BBB Nov'18 9
14 115 BBB Nov'18 2
15 116 BBB Nov'18 5
16 117 BBB Nov'18 1
我需要用前 3 个框指标聚合一个 Pandas 数据框 - 在 10 分制中得分 8、9、10 出现的百分比。
因此,聚合后的输出 Pandas 数据框应该如下所示:
Index TOP3
(AAA, Oct'18) 0.50
(BBB, Oct'18) 0.25
(AAA, Nov'18) 0.40
(BBB, Nov'18) 0.25
有人告诉我这是营销中非常常见的指标,但我没有发现任何紧密的聚合。我尝试了几种方法,例如使用:
AGGR=df.groupby(['month','company'])['score'].apply(lambda x: pd.value_counts(x)/x.count())
但是我需要通过分数汇总等进行另一次聚合
有什么好的方法可以一次性聚合Top 3?
非常感谢!
最佳答案
groupby
+ mean
:d = dict(ratio=df.score >= 8)
df.assign(**d).groupby(['company', 'month'])['ratio'].mean()
company month
AAA Nov'18 0.40
Oct'18 0.50
BBB Nov'18 0.25
Oct'18 0.25
Name: ratio, dtype: float64
使用相同的逻辑找到前 2、3、4:
d = dict(
top2=df.score >= 9,
top3=df.score >= 8,
top4=df.score >= 7
)
df.assign(**d).groupby(['company', 'month'])[[*d.keys()]].mean()
top2 top3 top4
company month
AAA Nov'18 0.20 0.40 0.60
Oct'18 0.25 0.50 0.50
BBB Nov'18 0.25 0.25 0.25
Oct'18 0.00 0.25 0.25
关于python - 如何在 pandas groupby 中获得前 3 个框聚合 - 在 10 分制中得分大于 7 的百分比?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53676095/
谁能推荐一个好的成员(member)结构? 例如,用户支付了 1 个月的成员(member)费,从 2012 年 2 月 1 日到 2012 年 3 月 1 日结束。 何时何地检查用户是否仍是成员(m
我想在我的 JTextPane 中实现查找机制(如文本编辑器或 word)。我希望它有下一个/上一个选项(向上/向下箭头)并突出显示它找到的所有单词。有没有简单的方法可以做到这一点? 最佳答案 我不是
Android 上是否有任何机制和/或编程实践来执行一次性安装/更新脚本?这似乎是一个非常基本的问题,但谷歌搜索没有帮助。 假设我的应用程序使用了一个数据库,并且需要一个常量值表(例如国家名称、城市名
是否可以将 SimpleMembership 与 ASP.NET WebForms 一起使用? John Galloway 的文章似乎表明 WebForms“在 ASP.NET 成员资格之上实现 OA
我是一名优秀的程序员,十分优秀!