You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

循环绘制DataFrame每行数据并按索引保存图片的实现

解决方案

你的核心问题有两个:一是当前循环遍历的是DataFrame的列名而非每行数据,二是每行存储的是逗号分隔的字符串,需要先转换为数值列表才能绘图。以下是可行的实现代码:

import pandas as pd
import matplotlib.pyplot as plt

# 读取CSV文件
df = pd.read_csv("data.csv")

# 遍历每行数据,同时获取索引
for idx, row in df.iterrows():
    # 将每行的字符串按逗号拆分,转换为浮点数值列表
    data_values = row['dt'].split(',')
    data_values = [float(val) for val in data_values]
    
    # 创建绘图
    plt.figure()
    plt.plot(data_values)
    # 可选:添加标题等美化元素
    plt.title(f"Data from row {idx}")
    plt.xlabel("Index")
    plt.ylabel("Value")
    
    # 保存图片,文件名用索引命名
    plt.savefig(f"{idx}.jpg")
    # 关闭当前绘图,释放内存(处理10000行时非常重要)
    plt.close()

关键细节说明:

  • 使用df.iterrows()来同时获取每行的索引和数据,这是遍历DataFrame行数据的标准方式
  • 每行的row['dt']是字符串类型,必须用split(',')拆分后转换为浮点型,否则无法用于绘图
  • 处理10000行数据时,务必调用plt.close()关闭每个绘图,避免内存溢出
  • 如果需要调整图片分辨率或格式,可以在plt.savefig中添加参数,比如plt.savefig(f"{idx}.jpg", dpi=300)来提高清晰度

内容的提问来源于stack exchange,提问作者pro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 18:35:49