在python中使用自定义函数

问题描述 投票:1回答:1

我正在创建如下函数:

def Player_stats(data,Template,Name,Competition):

    df_Player = data [(data['Player'] == Name) & (data['template'] == Template)]

    print(df_Player.head())


    return df_Player

该函数的输入是数据(数据框),模板(字符串),名称(字符串),竞争(字符串)。

下面是我如何调用该函数:

Template ='ACCURACY'
Competition = 'England. Premier League'
Name = 'P. Pogba'
df = Player_stats (DF_new,Name,Template,Competition)

问题是当我调用该函数时,它显示了空的数据框。

如果我只在函数中插入确切的字符串,如下所示:

def Player_stats(data,Template,Name,Competition):

    df_Player = data [(data['Player'] == 'P. Pogba') & (data['template'] == 'ACCURACY')]

    print(df_Player.head())

    return df_Player

它显示了数据框。但是,我想使用其他输入来调用该函数。

每次,我使用诸如名称,竞赛,模板之类的变量,它始终显示空白数据框。

有人可以建议我吗?

谢谢,

Zep。

python list function dataframe
1个回答
0
投票

请在调用函数时检查数据框中的列名是否正确。将data ['Player']更新为data.Player

def Player_stats(data,Template,Name,Competition):

    df_Player = data [(data.Player == Name) & (data.template == Template)]

    print(df_Player.head())


    return df_Player
© www.soinside.com 2019 - 2024. All rights reserved.