在python中使用自定义函数

在python中使用自定义函数,python,list,function,dataframe,Python,List,Function,Dataframe,我正在创建一个函数,如下所示: def Player_stats(data,Template,Name,Competition): df_Player = data [(data['Player'] == Name) & (data['template'] == Template)] print(df_Player.head()) return df_Player def Player_stats(data,Template,Name,Competiti

我正在创建一个函数,如下所示:

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

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

    print(df_Player.head())


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

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

    print(df_Player.head())

    return df_Player
函数的输入是数据(dataframe)、模板(String)、名称(String)、竞争(String)

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

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'] == Name) & (data['template'] == Template)]

    print(df_Player.head())


    return df_Player
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.

在调用函数时,请检查dataframe中的列名是否正确。将数据['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

在调用dataframe函数时,请检查dataframe中的列名是否正确。将数据['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

您已经反转了模板和名称字符串,这有意义吗。我怎么没注意到,谢谢。很多请注意我的错误,变量和函数名应遵循带有下划线的
小写形式。您是否颠倒了模板和名称字符串?OMG。我怎么没注意到,谢谢。很多请注意我的错误,变量和函数名应遵循带有下划线的
小写形式。