gpt4 book ai didi

python - 如果维度可能变化,如何访问数组元素?

转载 作者:太空宇宙 更新时间:2023-11-03 20:14:14 31 4
gpt4 key购买 nike

例如,我将数据存储在数组中

myList = array([('A', 3, 2, 5),('B', 3, 7, 0),dtype=[('f0', '<U128'), ('f1', '<f8'), ('f2', '<f8'), ('f3', '<f8')])

它具有固定数量的列 >2 和任意数量的行。我想将第二列读入一个新数组。我知道我可以做到这一点

[x[1] for x in myList]

list(zip(*myList))[1]

但我的问题是,在某些情况下数组只有一行,那么我只需要值 myList[1] 和上面的代码。我可以为此使用 if 条件,但我想知道当维度可以变化时是否有更有效的方法来处理数组?

最佳答案

我尝试重现该问题。我制作了一个 txt 文件,其中包含:

'A', 3, 2, 5
'B', 3, 7, 0

使用 numpys genfromtext 加载此文件会导致您的数组。以下代码提取第一列,无论行数如何:

import numpy as np

myList = np.genfromtxt("startFile.txt", dtype="U128,f8,f8", delimiter=",")
numRows = np.shape([myList])[0]
reshapedList = np.reshape(myList, (numRows, -1))
columnValues = [x[1] for x in reshapedList[0]]
print(f"column values: {columnValues}")

希望对您有所帮助!

关于python - 如果维度可能变化,如何访问数组元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58561104/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com