我使用以下行将包含邮政编码的csv文件作为字符串导入:
my_data = genfromtext('path\to\file.csv', delimiter = ',', dtype=str, autostrip=True)
我作为字符串导入,以保留一些邮政编码可能包含的前导零。现在我还需要遍历整个numpy数组,我想这样做:
for i in np.nditer(my_data):
do something with my_data[i]
但遗憾的是它返回了以下错误:
用作索引的数组必须是整数(或布尔)类型
知道如何循环遍历这个numpy数组的每个元素吗?
答案 0 :(得分:1)
虽然循环NumPy数组通常不是一个好的解决方案,但你可以这样做:
for i in range(len(my_data)):
do something with my_data[i]
最好将数据读入列表,处理字符串,然后转换为NumPy数组。
答案 1 :(得分:1)
您应该使用i
而不是my_data[i]
执行某些操作。 i
已经是你的元素(mydata
的一部分)。
这就是my_data[i]
无效的原因,因为i
不是索引。它是一个numpy阵列。
如果您想使用index和给定元素,请使用enumerate()
示例:
lista = [20,50,70]
for idx, element in enumerate(lista):
print (idx, element)
有关详细信息,请访问此网站numpy iteration tutorial