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

相关推荐
振浩微433射频芯片3 分钟前
工业环境下的“硬核”选择:如何科学评估国产433芯片的可靠性?
网络·人工智能·科技·单片机·物联网·学习
星座5285 分钟前
AI-Python机器学习与深度学习全栈实战:从机器学习、深度学习到自动化Agent在科学研究中的深度应用全揭秘
人工智能·python·机器学习
山屿落星辰7 分钟前
ascend-transformer-boost (ATB) - Transformer推理加速实战
人工智能·深度学习·transformer
安迁岚9 分钟前
基于珠三角城市热岛热点核心中心点的等级化点格局分析
人工智能·arcgis·信息可视化·数据挖掘·数据分析·地统计
同元软控12 分钟前
建模也有Skills了:MWORKS.Sysplorer Skills已开源至MoHub!
人工智能·开源·mworks
SKY -dada12 分钟前
02--光伏电站的“隐形杀手”——直流拉弧:AI智能识别如何构筑安全防线?
人工智能·安全
Deepoch13 分钟前
Deepoc 具身智能开发板,让农业机器人更聪明好用
人工智能·机器人·具身模型·deepoc·采摘
1368木林森15 分钟前
多轮对话RAG【第十五篇】:工业级上下文管理方案,指代消除、会话隔离、动态检索伸缩
人工智能·rag
bryant_meng16 分钟前
【GAN】Generative Adversarial Network
人工智能·深度学习·神经网络·生成对抗网络·gan
一条泥憨鱼18 分钟前
全面解析 AI 大模型中的 Prompt
人工智能·ai·prompt