小明利用Python对“足球世界杯历史进球前20名(图a)”数据进行分析,他先按国家分类,统计出各个国家的球员人数,并把球员人数最多国家的球员,按“场均进球”数进行排序,并用图形显示(图b)。请在划线处填入合适的代码。
图 a | 图 b |
列表 a 内容 | 字典 country 内容 |
import csv
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams[ 'font.sans-serif ']=[ 'SimHei'] #用来正常显示中文标签
plt.rcParams[ 'axes.unicode_minus ']=False #用来正常显示负号
=open("历史进球 .csv", 'r')
reader=csv.reader(csvfile)
a=list(reader); country={}
for i in range(1,len(a)): #按国家分类
if a[i][1] not in country:
else:
country[a[i][1]].append(i)
max=0 ; country_max=""
for i in country.keys(): #找出前 20 名中人员最多的国家,country.keys()表示字典的键
if :
max=len(country[i])
country_max=i
df=pd.DataFrame(data=[ ],columns=["姓名","进球个数","出场次数"])
for i in country[country_max]:
df=df.append({"姓名":a[i][0],"进球个数":int(a[i][2]),"出场次数":int(a[i][3])},ignore_index=True) =df["进球个数"]/df["出场次数"] #df 最后插入 1 列”场均进球”
df=df.sort_values( ) #按“场均进球”排序
plt. (df["姓名"],df["场均进球"],label="场均进球")
plt.title("前 20 名中人数最多国家球员场均进球情况")
plt.legend()
plt.xlim(0,1.2)
plt.show()
csvfile.close()