我的numpy數組中的第三列是Age。在本專欄中,大約75%的條目是有效的,25%是空白的。第2列是性別,並使用一些操作,我計算出我的數據集中男性的平均年齡爲30歲。我的數據集中女性的平均年齡爲28.在numpy數組中替換空格
我想將男性的所有空白年齡值替換爲爲30,女性爲所有空白年齡值是28
但是我似乎無法做到這一點。任何人有建議或知道我做錯了什麼?
這裏是我的代碼:
# my entire data set is stored in a numpy array defined as x
ismale = x[::,1]=='male'
maleAgeBlank = x[ismale][::,2]==''
x[ismale][maleAgeBlank][::,2] = 30
不管什麼時候,我與上面的代碼完成的原因,我鍵入x
顯示該數據集的空白仍然存在,即使我將它們設置爲30。請注意,我不能做x[maleAgeBlank]
,因爲該列表將包含一些女性數據點,因爲女性數據點尚未排除。
有什麼辦法得到我想要的?由於某種原因,如果我做x[ismale][::,1] = 1
(將'male'列設置爲1),那可行,但x[ismale][maleAgeBlank][::,2] = 30
不起作用。
樣本陣列的:
#output from typing x
array([['3', '1', '22', ..., '0', '7.25', '2'],
['1', '0', '38', ..., '0', '71.2833', '0'],
['3', '0', '26', ..., '0', '7.925', '2'],
...,
['3', '0', '', ..., '2', '23.45', '2'],
['1', '1', '26', ..., '0', '30', '0'],
['3', '1', '32', ..., '0', '7.75', '1']],
dtype='<U82')
#output from typing x[0]
array(['3', '1', '22', '1', '0', '7.25', '2'],
dtype='<U82')
注意,我已經改變第2欄是男性0女性和1已經在上面的輸出
你可以張貼陣列的樣品? – moenad
@void現在添加。 –