【问题标题】:Save array with multiple columns to csv将具有多列的数组保存到 csv
【发布时间】:2021-05-29 20:51:02
【问题描述】:

如果我这样写,我会得到我想要的 csv 文件

a = asarray([ [1,2,3], [4,5,6], [7,8,9] ])
savetxt("foo.csv", a, delimiter=",")

但问题是,为了获取值,我有类似的东西:

for j in range(3):
    for i in range(3):
        e = get_val(i)  # so I get 1,2,3; next loop 4,5,6 and third 7,8,9

所以我尝试使用 append 以我需要的格式制作数组,但它 好像我明白了

a = [1,2,3,4,5,6,7,8,9] 

那么有人知道如何将数组设置为所需的格式吗?

注意:我正在使用的真实应用程序中的输入是openpose中的骨架点

【问题讨论】:

  • 如果您需要帮助清理格式化。展示你需要什么,得到什么,
  • 是的,你是对的

标签: python arrays numpy multilabel-classification


【解决方案1】:

我认为您需要嵌套两个循环,如下所示:

a = []
n = 1
for j in range(1,4):
    b = []
    for i in range(1,4):
        b.append(n)
        n += 1
    a.append(b)
print(a)

您在正确的轨道上,但需要初始化两个列表。内部列表,我们称之为 b,需要在每个外部循环开始时重新初始化,否则它将继续增长到 6 项,然后是 9 项。

【讨论】:

  • 没问题!您介意将其标记为已回答并点赞有用吗?
【解决方案2】:

让我们倒过来试试。假设我们有这个线性列表a,我们可以使 将其放入numpy 数组中,如下所示。这将允许您使用您的功能 get_val 代替。

import numpy as np

a = [1,2,3,4,5,6,7,8,9]
b = []
for j in range(3):
    b2 = []
    for i in range(3):
        e =  a[3*j+i] # get_val(i)
        b2.append(e)
    b.append(b2)
print(np.asarray(b))
# [[1 2 3]
# [4 5 6]
# [7 8 9]]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-03
    • 1970-01-01
    • 2016-03-11
    • 1970-01-01
    • 2016-08-01
    • 2018-01-19
    • 1970-01-01
    • 2014-06-06
    相关资源
    最近更新 更多