获取 jupyter 小部件下拉值以传递给函数并过滤数据框

问题描述

我正在尝试使用下拉小部件值来过滤 Pandas 中的数据框。它最初会使用第一个值构建一个数据框,但如果我选择不同的值,它不会触发更改。我也想选择几个团队,所以如果有人觉得好心帮助我实现它。我使用 .value 返回 ddleague 函数,也许它会给我第一个选择,我尝试了不同的方法,但它似乎是我迄今为止最接近的方法
在此先感谢您的帮助。

def on_changeLeague(change):
if change['type'] == 'change' and change['name'] == 'value':
    return change['new']


def ddleague():
    league1 = ['Barclays Premier League','English League Championship','french Ligue 1','french Ligue 2','Spanish Primera Division','Spanish Segunda Division','Italy Serie A','Italy Serie B','German Bundesliga','German 2. Bundesliga','UEFA Champions League','UEFA Europa League','Brasileiro Série A','Russian Premier Liga','Austrian T-Mobile Bundesliga','Swiss Raiffeisen Super League','Danish SAS-Ligaen','Belgian Jupiler League' ]

    wselect = widgets.Dropdown(options=league1,value=league1[0],description='Select league')
    wselect.observe(on_changeLeague)
    display(wselect)

    return wselect.value


def DFmerged1():

    firstdf = pd.read_csv('spi_matches.csv',delimiter=',',index_col=0)
    a,b,c,d,e,f = 'E0.csv','E0(0).csv','E0(1).csv','E0(2).csv','E0(3).csv','E0(4).csv'



    colIT = ['date','league','team1','team2','score1','score2','spi1','spi2','importance1','importance2']
    df = firstdf[colIT]
    df = df.reset_index()
    df.columns = ['season','Date','HomeTeam','AwayTeam','GoalsHome','GoalsAway','importance2']


    #league
    lg = ddleague()
    df =  df[(df['league'] == lg) & (df['GoalsHome'] >= 0)]

在用于它的函数之上,DFmerged1函数只有它的初始部分,即它的相关部分。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)