Python 如何计算循环中不同分段的基尼?
我有一个dataframe,其中包括Split、Target和Score列。我想计算每一组数据的基尼值。我想把每次分手的钱还给吉妮。我正在使用下面的代码。如何解决这个问题Python 如何计算循环中不同分段的基尼?,python,pandas,for-loop,Python,Pandas,For Loop,我有一个dataframe,其中包括Split、Target和Score列。我想计算每一组数据的基尼值。我想把每次分手的钱还给吉妮。我正在使用下面的代码。如何解决这个问题 Splits = ['Cash', 'NonCash', 'New'] for i in Splits: Target = df[df['Split'] == i]['Target'] Score = df[df['Split'] == i]['Score'] def Gini(Targe
Splits = ['Cash', 'NonCash', 'New']
for i in Splits:
Target = df[df['Split'] == i]['Target']
Score = df[df['Split'] == i]['Score']
def Gini(Target, Score):
ROC = roc_auc_score(Target, Score)
Gini = ROC*2-1
return Gini
我的数据如下:
d={
'Split' :['Cash','Cash','NonCash','New','New'],
'Target':[0,0,1,0,1],
'Score':[69,76,74,89,62]
}
df=pd.DataFrame(d, columns=['Split','Target','Score'])
预期结果是计算每个分割的基尼值,并创建一个基尼参数,如基尼现金、基尼非现金、基尼新。执行以下操作:
d={
'Split' :['Cash','Cash','NonCash','New','New'],
'Target':[0,0,1,0,1],
'Score':[69,76,74,89,62]
}
df=pd.DataFrame(d, columns=['Split','Target','Score'])
Splits = ['Cash', 'NonCash', 'New']
gin=[]
def Gini(Target, Score):
ROC = roc_auc_score(Target, Score)
Gini_1 = ROC*2-1
return Gini_1
for i in Splits:
Target = df[df['Split'] == i]['Target']
Score = df[df['Split'] == i]['Score']
gin.append(Gini(Target,Score))
您将获得一个吉尼分数列表请发布带有预期输出的示例输入数据框。