1图 | 2图 |
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['KaiTi','SimHei','FangSong'] #设置中文字体
df = pd.read_excel( "student.xlsx" )
df_err = df[ ▲ ]
请在▲处填入合适的代码。
km = ["语文","数学","英语","物理","化学","生物","政治","历史","地理","技术"]
df1 = df . groupby( "班级" ) .
print( df1 ) #2图所示
#删除“姓名”和“科目数”列
df2 = df1 . drop(["姓名","科目数"] , axis = 1)
g = df2 . sum() #g为Series对象
#统计各科目的人数占总人数的比例
for k in km:
per = / len( df ) * 100
print(k , "比例为:" , round(per,2) , "%")
x =
y = g . values
plt.bar( x , y ) #3图所示
plt.title("各科补弱比例对比")
plt.show()
图a
#导入模块略
df=pd.read_excel("qxyj.xlsx") #读取文件中的数据
df=df.drop(["预警发布单位","预警发布时间"],____)#删除列
df_g=df.groupby("预警名称",as_index=False).____ #分组并统计预警次数
df_s= df_g.sort_values("次数"ascending=False) #按"次数"降序排序
图b
df_s["预警等级"]=0#插入新的"预警等级"列,默认值为0
for i in range(len(df_s)):
s=
if s[2]=="红":
df_s.at[i,"预警等级"]=1
elif s[2]=="橙":
df_s.at[i,"预警等级"]=2
elif s[2]=="黄":
df_s.at[i,"预警等级"]=3
elif s[2]=="蓝":
df_s.at[i,"预警等级"]=4
print(df_s)
df_s=df_s.head(5)
图c
x=df_s.预警名称
y=
plt.bar(x,y) #绘制柱形图
plt.title('发布次数最多的 5 种气象预警')
plt.show() #显示图表