2

我正在使用 Streamlit 来展示我在一些数据上所做的一些工作。所以我有一个名为的数据框total_home_wins,其中包含我的球队在联赛中赢得的比赛得分。我试图找出我的团队赢得的最大胜利。请注意:

  • gd: 目标差异
  • FTHG: 全职主场进球

以下是我的代码来确定:

biggest_gd_home = total_home_wins.loc[total_home_wins["gd"] == total_home_wins["gd"].max()]
biggest_win_home = biggest_gd_home.loc[biggest_gd_home["FTHG"] == biggest_gd_home["FTHG"].max()]
biggest_win_home_opponent = biggest_win_home.loc[:, "AwayTeam"].values[0]

我把它打印在这样的页面上:

f'### Biggest victory at home against {biggest_win_home_opponent}'
st.write(biggest_win_home)

以前我没有考虑过这样一个事实,即我的球队可能以最大的优势赢得了不止一支球队。gd然而,事实证明,存在两者FTHG完全相同的情况。不,问题 - 将代码更改为以下内容:

biggest_win_home_opponent = list(biggest_win_home.loc[:, "AwayTeam"].values)

所以现在我有biggest_win_home_opponent一个数组。如果我保留代码原样,它会打印:

Biggest victory at home against ['Team X', 'Team Y']

我希望它没有括号和引号出现,所以我做了以下事情:

'Biggest victory at home against' + print(", ".join(biggest_win_home_opponent))

这导致NONE而不是团队名称。我尝试将其替换为+,效果相同。

我究竟做错了什么?在此先感谢您的帮助!

4

1 回答 1

2

您可以在定义列表后尝试修改您的 f 字符串代码:

f'### Biggest victory at home against {", ".join(biggest_win_home_opponent)}'
st.write(biggest_win_home)

作为概念证明:

biggest_win_home_opponent = ['Team X', 'Team Y']
f'### Biggest victory at home against {", ".join(biggest_win_home_opponent)}'

输出这个:

'### Biggest victory at home against Team X, Team Y'
于 2020-06-07T20:18:34.677 回答