有谁能帮助我理解如何用def whatever()
来创建一个函数,而不是使用for循环。我试着用pythonical的方式来做,但不太明白如何更好地应用函数而不是循环。例如,我下面有一个循环,它很好地工作,并给出了我想要的输出,有没有一种方法可以用函数来实现?在
seasons = leaguesFinal['season'].unique()
teams = teamsDF['team_long_name'].unique()
df = []
for i in seasons:
season = leaguesFinal['season'] == i
season = leaguesFinal[season]
for j in teams:
team_season_wins = season['win'] == j
team_season_win_record = team_season_wins[team_season_wins].count()
team_season_loss = season['loss'] == j
team_season_loss_record = team_season_loss[team_season_loss].count()
df.append((j, i, team_season_win_record, team_season_loss_record))
df = pd.DataFrame(df, columns=('Team', 'Seasons', 'Wins', 'Losses'))
输出如下:
^{pr2}$
实际上,你把东西混在一起-
functions
只是聚合代码行,这样它们就可以不必再写任何东西了,而for-loops
是为了迭代的目的。在在上面提到的例子中,一个函数只包含
for-loop
并返回结果数据帧,然后可以使用它。但它不会改变任何东西,也不会让你的代码更聪明。在解决方案
评论
这就是您所提到的,在
for
循环之外创建一个函数,尽管您仍然有一个for
循环,它可以在代码的不同区域使用,而不必为循环重复使用整个代码。在所要做的就是为这个特定的循环定义一个接受两个变量的函数,
def some_loop(something, something_else)
,我使用了基本命名,这样您就可以更清楚地看到发生了什么。在然后您将用这些变量替换}的所有实例。在
seasons
和{现在,您调用的函数将用您发送给它的任何输入来替换
something
和something_else
的所有出现。在另外,我也不完全确定涉及
x = y = i
的语句,以及它能完成什么,或者它是否是一个有效的语句?在相关问题 更多 >
编程相关推荐