columnFour = [data[0::, 1] == 1, data[0::, 4]]
數據是一個表,其中1是我選擇的變量(它等於1)和4我想要的變量繪製成一維的數組。使用Numpy獲得矩陣內的數組的平均值
一些在4列中的值是空白的(「」),而我在Python得到的錯誤如下:
Traceback (most recent call last):
File "<filename>", line 62, in <module>
print np.mean(age, dtype=float);
File "D:\Python27\lib\site-packages\numpy\core\fromnumeric.py", line 2373, in mean
return _wrapit(a, 'mean', axis, dtype, out)
File "D:\Python27\lib\site-packages\numpy\core\fromnumeric.py", line 37, in _wrapit
result = getattr(asarray(obj),method)(*args, **kwds)
File "D:\Python27\lib\site-packages\numpy\core\numeric.py", line 235, in asarray
return array(a, dtype, copy=False, order=order)
ValueError: cannot set an array element with a sequence
我如何可以選擇所有的非空號在第4列中,還是選擇全部包括那些空值?我寧願選擇全部,但都可以工作。我試圖想出第4列中的平均數據以重新插入空值,但將它們平均分配到不同的第1列值。
例如第4列中的所有數字,其中column 1 == 1
將得到平均值,然後在其中column 1 == 1
將得到該平均值的空值重新插入。
編輯: 我用一個for循環來完成數據。
在數據x: 如果x [1] == '1' 和X [4]: first.append(np.float(X [4]))
如果x [1] ==如果x [1] =='3'和x [4]: third.append(np.float(x [4])) x [4]))
結果是三個數組具有我正在查找的不同值,然後可以將它們平均並放回到數據中的孔中。
什麼樣的數組是數據?一個對象數組?它似乎有數字和字符串。還是全部是字符串? – tiago
columnFour = [data [0 ::,1] == 1,data [0 ::,4]] 這條線沒有多大意義。你究竟想在這裏做什麼? >數據是一個表,其中1是我選擇的變量(它等於1),4是我試圖繪製成一維數組的變量。 你可以嘗試更清楚地解釋這一點嗎? – JoeZuntz
數據是一個數字和字符串表,但我試圖處理的兩列都是數字。 我知道,列表理解是不好的。 我想選擇列4中的所有數字,其中列1 == 1. 我希望結果是一個數組,其中在每個列Four [x] [1]中的數字是1,並且在每列four [x ] [4]這個數字就是數據數組中那一行中的數字。 –