擅长:python、mysql、java
<p>正如建议的那样,这可以通过熊猫来实现</p>
<p>下面是如何使用熊猫解决这个问题</p>
<p>输入文件(Input.txt):</p>
<pre><code>John Doe 3 87
Jane Doe 4 89
Bob Smith 5 84
Chris Cruse5 3 85
Karen Cane4 4 93
Rob Green3 5 94
Babe Ruth4 3 78
Step Curry1 4 79
Leb James4 5 77
import pandas as pd
df = pd.read_csv('input.txt', sep=" ", header=None)
df.columns = ['First','Last','Grade','Score']
print (df)
print (df.groupby('Grade')['Score'].mean().round(2))
</code></pre>
<p>数据将存储在熊猫数据框中,如下所示:</p>
<pre><code> First Last Grade Score
0 John Doe 3 87
1 Jane Doe 4 89
2 Bob Smith 5 84
3 Chris Cruse5 3 85
4 Karen Cane4 4 93
5 Rob Green3 5 94
6 Babe Ruth4 3 78
7 Step Curry1 4 79
8 Leb James4 5 77
</code></pre>
<p>各等级的平均值为:</p>
<pre><code>Grade
3 83.33
4 87.00
5 85.00
</code></pre>
<p>您还可以提供:</p>
<pre><code>print (df.groupby('Grade').agg({'Score':['mean']}).round(2))
Score
mean
Grade
3 83.33
4 87.00
5 85.00
</code></pre>