import pandas as pd
import os
import interval
import matplotlib.pyplot as plt
import xlsxwriter
#只能创建打开新的excel文件
path='/Users/kangyongqing/Documents/kangyq/202205/教师分级&绩效考核/教师分级——课频和转化/9月之后教师分级/'
dfpath=os.path.join(path,'23年2月教师分级.xlsx')
def data_divide(x):
if x in interval.Interval(0, 1, upper_closed=False):
return "0)0"
elif x in interval.Interval(1, 10, upper_closed=False):
return "1)1-9"
elif x in interval.Interval(10, 50, upper_closed=False):
return "2)10-49"
elif x in interval.Interval(50, 100, upper_closed=False):
return "3)50-99"
else:
return "4)100+"
df=pd.read_excel(dfpath,dtype={'老师id':object})
print(df.columns)
df['qian3']=df['前3个月试听学生数'].apply(data_divide)
jihe=df.groupby('qian3')['老师id'].count()
jihe.rename('老师数量',inplace=True)
fenlei=df.groupby('月度分级区间')['老师id'].count()
writer=pd.ExcelWriter(path+'jihe.xlsx')
jihe.to_excel(writer,sheet_name='jihe')
fenlei.to_excel(writer,sheet_name='fenlei')
writer.save()
print('保存完毕')
figure1=plt.figure(figsize=(6,6))
#建画板
plt.pie(jihe,labels=(jihe.values),autopct='%1.1f%%')
#做饼图,添加标签,显示百分比
plt.legend(jihe.index.values)
#添加图例
plt.rcParams['font.sans-serif'] = ['Songti SC']
#mac处理中文标题无法显示的问题
plt.suptitle('各试听课量区间教师人数分布')
#添加标题
# plt.show()
plt.savefig(path+'fenbu.png')
# plt.close()
book=xlsxwriter.Workbook(path+'chatu.xlsx')
sheet=book.add_worksheet('图片')
sheet.insert_image('A2',path+'fenbu.png')
book.close()
# 创建新的表,并插入图片,如果使用已存在的表,会覆盖原有数据
print('插入图片完毕')
对excel文件区间分类并统计作图
猜你喜欢
转载自blog.csdn.net/Darin2017/article/details/129286901
今日推荐
周排行