• AI数据分析:根据Excel表格数据进行时间序列分析


    ChatGPT中输入提示词:

    你是一个Python编程专家,要完成一个Python脚本编写的任务,具体步骤如下:

    读取Excel表格:"F:\AI自媒体内容\AI行业数据分析\toolify月榜\toolify2023年-2024年月排行榜汇总数据.xlsx"

    用matplotlib绘制一个折线图:

    X轴为单元格B1到单元格O1的表头;

    Y轴为第1行到第20行的数据,标签为:月访问量;

    用每个单元格A2到A21对应的数据绘制折线图;

    其中,A2到A6单元格对应的折线为实线,颜色设为不同颜色,互相之间的颜色反差要大;

    其他单元格对应的折线为虚线,虚线的形状要都不一样;

    图表的标题为“2023年Top20 AI应用近一年的发展趋势”;

    图例为单元格A2到单元格A21的内容和对应的线条形状;

    设置matplotlib默认字体为'SimHei',文件路径为:C:\Windows\Fonts\simhei.ttf

    保存图片到文件夹“F:\AI自媒体内容\AI行业数据分析”,图片标题为:2023年Top20 AI应用近一年的发展趋势;

    显示图片;

    注意:每一步都输出信息到屏幕

    源代码:

    import pandas as pd

    import matplotlib.pyplot as plt

    import matplotlib.font_manager as fm

    import os

    # 设置默认字体

    font_path = 'C:\\Windows\\Fonts\\simhei.ttf'

    font_prop = fm.FontProperties(fname=font_path)

    plt.rcParams['font.family'] = font_prop.get_name()

    # 读取Excel表格

    file_path = r'F:\AI自媒体内容\AI行业数据分析\toolify月榜\toolify2023年-2024年月排行榜汇总数据.xlsx'

    try:

    df = pd.read_excel(file_path)

    print("Excel数据读取成功")

    except Exception as e:

    print(f"读取Excel失败: {e}")

    exit(1) # 如果读取失败,退出程序

    # 打印数据概览用于检查

    print("数据概览:")

    print(df.head())

    # 确认表头和数据范围

    print("表头(列名):", df.columns.tolist())

    print("数据行数:", len(df))

    # 提取数据

    try:

    x_labels = df.columns[1:15] # B1 到 O1 的表头(去掉第0列的标签名)

    y_data = df.iloc[0:20, 1:15] # B1:O20,第1行到第20行的数据

    line_labels = df.iloc[0:20, 0] # A2 到 A21 的内容(标签名)

    # 输出以确认

    print("月份(x_labels):", x_labels.tolist())

    print("前几行数据(y_data):")

    print(y_data.head())

    print("标签名(line_labels):")

    print(line_labels.tolist())

    except Exception as e:

    print(f"提取数据失败: {e}")

    exit(1) # 如果提取失败,退出程序

    # 绘制折线图

    plt.figure(figsize=(14, 8))

    # 实线颜色设置

    solid_lines_colors = ['b', 'g', 'r', 'c', 'm'] # 蓝色,绿色,红色,青色,洋红色

    dashed_lines_styles = ['--', '-.', ':', (0, (5, 10)), (0, (3, 5, 1, 5))] # 定义不同的虚线样式

    # 绘制每条线

    try:

    for i in range(len(y_data)):

    data_line = y_data.iloc[i].values

    label_name = line_labels.iloc[i]

    if i < 5:

    plt.plot(x_labels, data_line, label=label_name, linestyle='-', color=solid_lines_colors[i % len(solid_lines_colors)])

    print(f"绘制实线:{label_name},颜色:{solid_lines_colors[i % len(solid_lines_colors)]}")

    else:

    plt.plot(x_labels, data_line, label=label_name, linestyle=dashed_lines_styles[i % len(dashed_lines_styles)])

    print(f"绘制虚线:{label_name},虚线样式:{dashed_lines_styles[i % len(dashed_lines_styles)]}")

    except Exception as e:

    print(f"绘制折线图失败: {e}")

    exit(1) # 如果绘制失败,退出程序

    plt.title('2023年Top20 AI应用近一年的发展趋势')

    plt.xlabel('月份')

    plt.ylabel('月访问量')

    plt.legend()

    # 保存图片

    output_dir = r'F:\AI自媒体内容\AI行业数据分析'

    if not os.path.exists(output_dir):

    os.makedirs(output_dir)

    output_file = os.path.join(output_dir, '2023年Top20 AI应用近一年的发展趋势.png')

    try:

    plt.savefig(output_file)

    print(f'图片保存到: {output_file}')

    except Exception as e:

    print(f"保存图片失败: {e}")

    exit(1) # 如果保存失败,退出程序

    # 显示图片

    plt.show()

  • 相关阅读:
    CVE-2022-1162 Gitlab 硬编码漏洞复现
    商家收款码手续费太高了
    Java - 由ReflectionFactory引发的对final关键字的思考
    Layui之用户(CURD)
    minio文件存储 安装
    我的创作纪念日
    西安交通大学软件学院学习指南:XJTUSE-GUIDE
    【Nginx】nginx隐藏版本号
    大厂面试题:ReentrantLock 与 synchronized异同点对比
    MATLAB 绘图合集:分类散点图gscatter
  • 原文地址:https://blog.csdn.net/AIGCTribe/article/details/139712170