Pandas 用于二进制分类

Pandas for binary classification

在训练二元分类器之前,我已经使用 Pandas 进行数据处理。我找不到的一件事是一个函数,它告诉我给定某个特征的值,比如说年龄(例如 60 岁的人),这个人的百分比被归类为 1 或 0(在二进制数据列)。这适用于年龄列中的所有不同年龄。

一个简单的例子来说明我的想法。我有以下数据框:

import pandas as pd

data = pd.DataFrame({'Age': [23, 24, 23 ,25 ,24 ,24 ,20], 'label': [0, 1, 1, 0, 1, 1, 0]})

我想要一个函数,它可以给出标记为 0 或 1 的所有年龄段的人的百分比。像这样:

   Age   Percentage
0   20     0.0
1   23     0.5
2   24     1.0
3   25     0.0

是否有任何功能已经实现了?因为我找不到,而且我发现这是二进制分类问题中数据分析的一个非常普遍的需求。

谢谢!

按平均值分组:

>>> data.groupby('Age').mean()
     label
Age       
20     0.0
23     0.5
24     1.0
25     0.0

重置索引以准确获取您发布预期输出的方式

>>> data.groupby('Age').mean().reset_index()
   Age  label
0   20    0.0
1   23    0.5
2   24    1.0
3   25    0.0