<p>您也可以这样做:</p>
<pre><code>df = pd.DataFrame([
['Sandhausen',2,3,1],
['Pohlheim',1,1,6],
['Völklingen',4,2,4],
['Nieder-Olm/Wörrstadt',5,7,2],
['Nümbrecht',7,6,3],
['Dorheim',3,4,7],
['Nienburg/Weser',6,5,5],
['Bad Homburg',8,8,8],
['Bad Homburg',9,9,9]
],
columns=["Team", "match1", "game12", "match2"])
df["score"] = ( 10 - df.drop(columns=["Team"]) ).sum(axis=1)
</code></pre>
<p>基本上在这里,我选择了所有应该考虑得分的列(在本例中,除了列<code>Team</code>)[<code>df.drop(columns=["Team"])</code>]</p>
<p>然后,我将等级转换为分数(等级1->;10-1=9,等级2->;10-2=8,…,等级9->;10-9=1)[<code>( 10 - ... )</code>]</p>
<p>在此之后,我对行(axis=1)上的所有值求和,并将其分配给列<code>score</code>[<code>df["score"] = (...).sum(axis=1)</code>]</p>
<p>其结果如下:</p>
<pre><code> Team match1 game12 match2 score
0 Sandhausen 2 3 1 24
1 Pohlheim 1 1 6 22
2 Völklingen 4 2 4 20
3 Nieder-Olm/Wörrstadt 5 7 2 16
4 Nümbrecht 7 6 3 14
5 Dorheim 3 4 7 16
6 Nienburg/Weser 6 5 5 14
7 Bad Homburg 8 8 8 6
8 Bad Homburg 9 9 9 3
</code></pre>
<p>此外,如果您更喜欢选择要使用的列,而不是拖放,则可以使用以下方法:</p>
<pre><code>df[[ col for col in df.columns if col != "Team" ]]
</code></pre>
<p>筛选正在<code>col != "Team"</code>中进行,但您可以更改它</p>