Use pandas para procesar datos de Dataframe para cumplir con el formato de seaborn para generar gráficos de calendario (python)

     El propósito de este procesamiento de datos es generar gráficos de calendario de acuerdo con los requisitos de gestión, y para

     El paquete utilizado para este procesamiento de datos

import pandas as pd

Primero, los datos iniciales se ven así

Datos sin procesar 1:

 Para generar un gráfico de calendario

Tenemos que hacerlo así

 Para completar correctamente los datos originales en la dirección de acuerdo con el mes especificado, el código es el siguiente:

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

Este paso es para generar un cuadro de texto.

se parece a esto

z=["3月","2月","1月"]
a=shengcheng_data(z)

A continuación, intente completar los datos en

El código se ve así

Código de procesamiento de datos inicial para posicionamiento asistido

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

 y esto

Ubique y complete el código de información

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

 Ejecutar código

z=["3月","2月","1月"]
a=shengcheng_data(z)
k=fen_ge(df3,"日期")
b=df3["上班人数"]
df=tianru_riqi(a,k,b,"3月")

Después de completar los datos, se ve así

 Generar código de gráfico de calendario

# 导入用到的包
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)

 Código de generación de gráfico de calendario

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()

 El diagrama de calendario generado se muestra de la siguiente manera:

Supongo que te gusta

Origin blog.csdn.net/weixin_48572116/article/details/126348755
Recomendado
Clasificación