我有一个二维 numpy 数组,我想将所有“男性”值更改为 0,将所有“女性”值更改为 1。
如果我尝试将
arr2D[row,element]
分配给特定值,
我收到错误。
我尝试使用下面的代码,但没有得到我的希望 '[[0,0],[1,1]]' 数组我收到错误:
'IndexError:用作索引的数组必须是整数...'
我不知道如何确定我所在元素的索引 在我的 for 循环中查看。
import numpy as np
arr2D = np.array([['male',0],['female',1]])
for row in arr2D:
for element in row:
if element == 'male':
arr2D[row,element] = 0
if element == 'female'
arr2D[row,element] = 1
for row in arr2D:
for element in row:
print(element)
我不知道如何确定我在 for 循环中查看的元素的索引。
enumerate
:
for index, element in enumerate(row):
if element == 'male': row[index] = 0
if element == 'female': row[index] = 1
numpy.place
: 来避免显式循环
np.place(arr2D, arr2D== 'male', 0)
np.place(arr2D, arr2D=='female', 1)