排序、排名、groupby和sum组合>Python pandas

2024-10-03 09:18:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个带有段落对的pandas数据帧。大约有500个段落,每个段落按以下格式成对列出(按段落排序,按最高预测排序):

ParagraphA | paragraphB | label | prediction

Paragraph1 | Pragraph2  | 1 ----| 0.9890


Paragraph1 | Pragraph10  | 1 ----| 0.9870


Paragraph1 | Pragraph17  | 0 ----| 0.9860


Paragraph1 | Pragraph34  | 1 ----| 0.9820

我已经对这些内容进行了分类和分组(之前段落和预测是按随机顺序排列的):

^{pr2}$

这是一个排序问题,我试图预测段落之间有联系的可能性。我现在想根据实际存在的链接数量来测量精度(见“标签”)。在

如何计算每个段落(段落下)标签下的“1”数,以及这些“1”出现在前x结果中的次数?(x基于该段落的“1”总数。如果有7个“1”,我会查看前7个结果)

对于上面的例子,假设第1段的标签下有三个“1”,但在前三个中,只有两个“1”

因此,我想摘录以下信息:

1)总体1's=3

2)1在前3=2


Tags: 数据pandas排序格式标签label段落prediction
1条回答
网友
1楼 · 发布于 2024-10-03 09:18:28

我不明白“label”列是否只有数字,或者条目是否与显示的一样(即“1”)。在这种情况下,我建议首先通过以下方式创建一个新列:

df['new_label'] = df['label'].astype(str).str[0]
df['new_label'] = df['new_label'].astype(int)

如果“label”列中只填充了数字,请忽略这段话,并在下面使用“label”而不是“new_label” (我还假设列“new_label”中的值仅为0或1):

^{pr2}$

相关问题 更多 >