Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何计算循环中不同分段的基尼?_Python_Pandas_For Loop - Fatal编程技术网

Python 如何计算循环中不同分段的基尼?

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

我有一个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(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))

您将获得一个吉尼分数列表

请发布带有预期输出的示例输入数据框。