【发布时间】:2018-11-05 00:33:00
【问题描述】:
我有一个带有段落对的 pandas 数据框。大约有 500 个段落,每个段落按以下格式列出(按段落 A 排序并按最高预测排名):
ParagraphA | paragraphB | label | prediction
Paragraph1 | Pragraph2 | 1 ----| 0.9890
Paragraph1 | Pragraph10 | 1 ----| 0.9870
Paragraph1 | Pragraph17 | 0 ----| 0.9860
Paragraph1 | Pragraph34 | 1 ----| 0.9820
我已经对此进行了排序和分组(之前段落和预测是随机顺序的):
sorted_grouped = df.sort_index(by=['paragraphA', 'predictions'], ascending=[True, False])
这是一个排名问题,我试图预测段落之间存在链接的可能性。我现在想根据实际存在的链接数量来衡量精度(参见“标签”)。
我将如何计算每个段落(在段落 A 下)的标签下“1”的数量以及这些“1”出现在前 x 个结果中的次数? (x 是基于该段落的“1”总数。如果有七个“1”,我会查看前七个结果)
对于我上面的示例,假设在 Paragraph1 的标签下总共有三个“1”,但在前三个中,只有两个“1”。
因此我想提取该信息:
1) 总分 1 = 3
2) 前 3 个中的 1 = 2
【问题讨论】:
标签: python pandas sorting grouping