2014-04-25 66 views
0

我的問題似乎是很多人已經經常問到的問題。如何解決TypeError:無法乘以類型爲'float'的非int的序列

我可能錯過了一些東西,但在相關的線程中建議的大多數解決方案似乎不起作用。

我的目的是簡單地乘以我以前做的一系列數字和列表。

我以前沒見過這樣的類型錯誤。

以下是我的代碼:

while c1 < 95: 
    c1 = c1 + 1 
    a1 = [] 

    f1.seek(0,0) 
    arrays1 = [map(float, line.split()) for line in f1] 
    newa1 = [x[5:] for x in arrays1] 


    a1 = newa1[c1] 
    x1 = np.array(a1, float) 
    x1 = np.ma.masked_array(x1,np.isnan(x1)) 

    xa1 = [i for i in x1 if i>=3.5 or i<=13.] 

    print xa1 

    p1 = 0.95*0.90*0.5*0.4*1.03*5027.*xa1^3 

因爲我的數據有很多男的價值,我使用屏蔽數組此代碼。然而,無論我使用原始數據,掩碼數組還是忽略nan值,結果錯誤都是相同的。

如果您有任何想法,我真的很感激。

謝謝

艾薩克

+1

'xa1'是一個'list',你試圖乘以'885.40551'。你希望這會做什麼? – mhlester

+0

感謝您的評論,我只是想將885.4乘以列表中的每個值。 – Isaac

回答

1
p1 = xa1**3 * 0.95*0.90*0.5*0.4*1.03*5027. 

您需要首先得到了數組(也許......(其實我不認爲這是真的)) 也提到**你們是如何做到python的權力

+0

謝謝喬蘭。 – Isaac

+0

使用**命令時,我還得到了TypeError:**或pow():'list'和'int'不受支持的操作數類型。你有什麼想法嗎?謝謝 – Isaac

+1

謝謝,我很抱歉。我解決了這個問題,這是由於我的錯誤和困惑。 – Isaac

相關問題