<p>要确保只选择max条目中的一个条目(第一个条目),而不是选择与max值匹配的所有条目,可以修改代码以使用<a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.idxmax.html" rel="nofollow noreferrer">^{<cd1>}</a>,类似于对<code>.drop</code>执行的操作</p>
<p>你可以从<a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.idxmax.html" rel="nofollow noreferrer">^{<cd1>}</a>的正式文件中看到:</p>
<blockquote>
<p>If multiple values equal the maximum, the first row label with that
value is returned.</p>
</blockquote>
<pre><code>opt_lineup = []
opt_lineup.append(chosen_team.loc[chosen_team['OPS'].idxmax(), 'Player']) #changed
chosen_team.drop(chosen_team['OPS'].idxmax(), inplace = True)
opt_lineup.append(chosen_team.loc[chosen_team['OPS'].idxmax(), 'Player']) #changed
chosen_team.drop(chosen_team['OPS'].idxmax(), inplace = True)
opt_lineup.append(chosen_team.loc[chosen_team['OBP'].idxmax(), 'Player']) #changed
chosen_team.drop(chosen_team['OBP'].idxmax(), inplace = True)
opt_lineup.append(chosen_team.loc[chosen_team['SLG'].idxmax(), 'Player']) #changed
chosen_team.drop(chosen_team['SLG'].idxmax(), inplace = True)
opt_lineup.append(chosen_team.loc[chosen_team['SLG'].idxmax(), 'Player']) #changed
chosen_team.drop(chosen_team['SLG'].idxmax(), inplace = True)
chosen_team.head(30)
</code></pre>
<p>请注意,我还将您的代码更改为使用<a href="https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.loc.html" rel="nofollow noreferrer">^{<cd4>}</a>格式,例如</p>
<pre><code>chosen_team.loc[chosen_team['OPS'].idxmax(), 'Player']
</code></pre>
<p>而不是使用以下格式:</p>
<pre><code>chosen_team[chosen_team['OPS'].idxmax()]['Player']
</code></pre>
<p>这是为了更好地避免COPYWARNING设置,还可以获得更好的执行时间/内存利用率</p>