【问题标题】:How to store numpy array to csv file如何将numpy数组存储到csv文件
【发布时间】:2020-10-16 14:53:14
【问题描述】:

这是我的代码 sn-p:

from detectron2.utils.visualizer import ColorMode
from detectron2.structures import pairwise_iou
import random
import numpy
from numpy import savetxt
dataset_dicts = DatasetCatalog.get('/content/scaphoid/test')
for d in random.sample(dataset_dicts,20):    
    im = cv2.imread(d["file_name"])
    outputs = predictor(im)
    v = Visualizer(im[:, :, ::-1], metadata=microcontroller_metadata, scale=0.8)
    v = v.draw_instance_predictions(outputs["instances"].to("cpu"))
    bb2 =(outputs["instances"].get_fields()["pred_boxes"].tensor.to("cpu").numpy())
    #numpy.savetxt("/content/output/bb2.csv",bb2, delimiter=',', header="xmin,ymin,xmax,ymax", comments="")

我想将 bb2 np 数组存储到 csv 文件中。 我尝试使用注释语句,但这只会保存 bb2 的最后一个值,而不是所有值 我该怎么做? 有没有人可以帮忙

【问题讨论】:

标签: python python-3.x numpy export-to-csv


【解决方案1】:

您在 for 循环中编写了 numpy.savetxt 语句,并且您没有附加数组,这就是它不断用最新值覆盖数组和 csv 文件的原因。

你可以创建一个空数组:

final = np.array([])

然后在bb2=(outputs["instances"].get_fields(["pred_boxes"].tensor.to("cpu").numpy())之后 在 for 循环中写入以下内容:

final = np.append(final, bb2)

最后在 for 循环之外,编写 numpy.savetxt 语句:

numpy.savetxt("/content/output/bb2.csv",final, delimiter=',', header="xmin,ymin,xmax,ymax", comments="")

希望这能解决您的问题!

【讨论】:

    猜你喜欢
    • 2011-08-30
    • 2019-12-07
    • 2021-03-01
    • 2020-07-10
    • 1970-01-01
    • 2019-03-05
    • 2018-08-23
    • 2014-08-30
    • 1970-01-01
    相关资源
    最近更新 更多