本次数据处理的目的是根据管理需求生成日历图,把
本次数据处理所用的包
import pandas as pd
首先初始数据长这样
原始数据1:
为了生成日历图
我们需要把它变成这样
为了将原始数据正确按照指定月份填入地址,代码如下:
def shengcheng_data(z):
k=[]
for i in range(31):
kk=i+1
k=k+[kk]
ww=pd.DataFrame(index=z,columns=k)
return ww
这一步是生成一个文本框
长这个样子
z=["3月","2月","1月"]
a=shengcheng_data(z)
然后试着把数据填入
代码长这样
辅助定位的初始数据处理代码
def fen_ge(a,k):
w=[]
for i in range(len(a[k])):
w1=a[k][i].split("/")[2]
if w1[0]=="0":
w1=w1[1]
else:
pass
w=w+[w1]
return w
还有这样
定位并填写信息代码
def tianru_riqi(a,k,b,w):#k=fen_ge(df,"日期"),b=df1["上班人数"] w=yuefen
for i in range(len(k)):
ss=int(k[i])
a[ss][w]=list(b)[i]
return a
运行代码
z=["3月","2月","1月"]
a=shengcheng_data(z)
k=fen_ge(df3,"日期")
b=df3["上班人数"]
df=tianru_riqi(a,k,b,"3月")
填入数据后长这样
生成日历图代码
# 导入用到的包
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import matplotlib as mpl
file = r"C:\\Users\\Administrator\\Desktop\\导入内容.xlsx"
df = pd.read_excel(file, sheet_name='Sheet1',index_col='Unnamed: 0')
df.head(10)
日历图生成代码
mpl.rcParams['font.sans-serif'] = ['SimHei'] #设置简黑字体
mpl.rcParams['axes.unicode_minus'] = False
cm_light = mpl.colors.ListedColormap(['tab:green','yellow','orange','red'])
plt.figure(figsize=(22,6))
# mask标记过滤值
ax = sns.heatmap(df, square=True, annot=True, vmin=0, vmax=180, fmt='.0f', linewidths=.05
, linecolor='gray', mask=df<30, cmap=cm_light)
plt.ylim(0, len(df)+.5)
plt.xlim(0, len(df.columns)+.5)
plt.savefig( 'exam.png')
plt.show()
生成日历图显示如下: