【问题标题】:Python: nested for loops for 2d-arraysPython:用于二维数组的嵌套 for 循环
【发布时间】:2021-11-02 20:00:27
【问题描述】:

我对 python 还很陌生,并且遇到了嵌套 for 循环的问题。 我有一个文件,其中包含 1000 个不同对象(称为 obj)的数据(行数=len(状态)),例如日期、对象、状态和方式。我想创建一个二维数组,其中每一列都引用一个给定的 obj,每一行都给了我状态的日期以及如何满足 if 条件。 我尝试了以下但没有成功:

cols=196
rows=70
databb=np.zeros((rows,cols))
for l in range(len(status)):
    for i in range(col):
        for j in range(rows):
            if (status[l]=='C' and obj[l]==201+i and how[l]=='epoch' ):
                databb[j,i]=date[l]
print(databb[:,0])

当 if 语句完成时,打印命令应该给我第一个 obj 的所有日期。而且我知道它至少有 70 个日期。但是打印命令给了我 70 次相同的日期。

【问题讨论】:

    标签: python for-loop multidimensional-array


    【解决方案1】:

    尝试将打印语句放在循环内。在 if 语句之后,这样您就可以在 databb 中看到每个元素的最新版本,而无需循环两次。

    cols=196
    rows=70
    databb=np.zeros((rows,cols))
    for l in range(len(status)):
        for i in range(col):
            for j in range(rows):
                if (status[l]=='C' and obj[l]==201+i and how[l]=='epoch' ):
                    databb[j,i]=date[l]
    
                print(databb[:,0])
    

    【讨论】:

      猜你喜欢
      • 2021-09-03
      • 1970-01-01
      • 1970-01-01
      • 2023-04-01
      • 2021-06-09
      • 1970-01-01
      • 1970-01-01
      • 2013-01-28
      • 1970-01-01
      相关资源
      最近更新 更多