2016-02-27 63 views
-1

首先,如果我用錯誤的語言來解釋我正在操作的內容,對不起,我對Python非常陌生,而且還遠遠不瞭解它。列長度上的操作

我目前正在嘗試對一列數據進行操作,但是我遇到了一些問題。這些列來自第7個sdss數據轉儲的.fit文件。當我運行代碼時,根據邊界條件打印x1,x2,x3的每個值。

x1 = o3[(03 >= y1)] 
print len(x1) 
x2 = o3[(o3 < y2) & (o3 < y1)] 
print len(x2) 
x3 = o3[(o3 < y1) & (o3 >= y2)] 
print len(x3) 
xtotal = len(x1) + len(x2) + len(x3) 
print xtotal 

從這一點上,我獲得X1,X2,共約190000.約70000,90000和30000 X3的價值觀,我想包括線來計算這些總價值的百分比但我似乎無法得到這個工作。

經過嘗試。

x1percentage = (xtotal/x1)*100 
print x1percentage 

這將返回上不長操作的元素,但是當我嘗試定義的長度只是一個數值,它返回任何幫助將是非常讚賞的0

答案。

+0

啊浮點除法,只是爲了澄清這不是真正的超越事實PyFITS你的數據就出來FITS的問題文件。 PyFITS使用所謂的NumPy數組。這些是大多數科學Python應用程序中用於數字數據的主要數據結構,因此學習NumPy的一些基本知識是在Python中進行數據分析的先決條件。如果您曾經使用MATLAB,NumPy數組與MATLAB中的數組類似。 你可以從我的簡短教程開始,但也有其他人(也可能是更好的)https://github.com/embray/notebooks/blob/master/numpy.ipynb – Iguananaut

回答

0

你可能使得整數運算錯誤,但你的聲明

x1percentage = (xtotal/x1)*100 

並沒有真正意義。 xtotal是一個整數,x1是一個值的數組,len(x1)是一個整數等於x1的大小,並且無論如何獲得您想要的百分比x1/xtotal

如果你試過len(x1)/xtotal,你會得到零,因爲你會提到,因爲python會將這兩個變量作爲整數並使用整數運算,結果爲零。

該溶液澆鑄一個或兩個值作爲浮武力

x1percentage = (xtotal/float(x1)) * 100 
+0

也許他們想'float(len( x1))/ xtotal * 100',否則是的。 – Iguananaut