使用python对excel数据就行简单可视化

Figure_1

使用python对excel数据就行简单可视化

涉及模块

pandas:读取excel数据,粗略处理数据

matplotlib:根据数据绘图

原始数据状态

image-20230619214501733

共三列,第一行为标题,第二行表头,第三行自定义数据,后续为规格化数据

image-20230619214643664

共486行有效数据

数据获取

    # 读取 Excel 文件中的多列数据
    data = pd.read_excel(p, usecols=[0, 1, 2] )
    # 分数
    x = data.iloc[2:, 0]

iloc函数指定数据 返回series格式的数据,类似列表,可使用函数进行批量操作

[2:, 0]指从第3行开始以后所有行的第一列数据

索引从0开始,同时不包含标题,去除第一行不规范数据

数据简单处理

使用函数将分数转为100分值

x.divide(750).multiply(100)

执行效率

电脑获取1920x1440 jpg图片

用时1.75s,cpu i7-9750h

代码:

def draw_plot(x,y,xlabel='',ylabel='',title=''):
    # 折线图 显示
    import matplotlib.pyplot as plt
    plt.rcParams["font.sans-serif"]=["SimHei"] #设置字体
    plt.rcParams["axes.unicode_minus"]=False #正常显示负号
    # 创建折线图
    plt.plot(x, y)
    # 添加标签和标题
    plt.xlabel(xlabel if xlabel else 'X轴')
    plt.ylabel(ylabel if ylabel else  'Y轴')
    plt.title(title if title else '折线图')
    # 显示图表
    plt.savefig('cache/a.jpg',dpi=300)

def ana_data_excel(p):
    import pandas as pd
    # 读取 Excel 文件中的多列数据
    data = pd.read_excel(p, usecols=[0, 1, 2] )
    # 分数
    x = data.iloc[2:, 0]
    xlabel=data.iloc[0 , 0]
    y = data.iloc[2:, 1]
    ylabel=data.iloc[0 , 1]
    # 获取标题(列标签)列表
    title = data.columns[0]
    x=x.divide(750).multiply(100)
    draw_plot(x,y,xlabel,ylabel,title )

ana_data_excel(p=r"重庆市2022一分一段表(物理类).xlsx")

posted @ 2023-06-19 22:24  caiusxin  阅读(408)  评论(0)    收藏  举报
// 侧边栏目录 // https://blog-static.cnblogs.com/files/douzujun/marvin.nav.my1502.css