2015-05-23 58 views
0

所以這裏有一個有趣的事情:不正確的平均

使用Python 2.7:在一列

我有約有5,100只條目,每個條目的數據幀與一些(熔點)題爲「 Tm值'。使用代碼:

self.sort_df[['Tm']].mean(axis=0) 

我得到的平均值:

Tm 92.969204 
dtype: float64 

這是沒有意義的,因爲沒有條目的的Tm大於83

是否.mean()不適合這麼多值?我試過配對數據集,它似乎適用於約1,000條目,但考慮到我有150,000個全數據集一次運行,我想知道是否需要找到一種不同的方法來計算均值。

+0

沒有數據集很難回答。但是,由於您說*沒有輸入的Tm大於83 *,您可能需要檢查'df ['Tm']。max()'的值。 – Zero

回答

1

更可讀的語法是:

sort_df['Tm'].mean() 

嘗試做一個sort_df['Tm'].value_counts()sort_df['Tm'].max()看到什麼值都存在。一些意想不到的價值觀一定會爬起來。

.mean函數提供精確的結果,而不考慮大小。

+0

謝謝,我會試試看。我可能已經在Decimal()函數內導入了Tm值,儘管它不能阻止正常循環獲得更合理的均值。我會用你的建議來看看有沒有什麼可疑的。 – Lostferret

+0

我正在導入包含在'Decimal()'函數中的'Tm'函數,它正在拋棄它。我切換到導入他們作爲'浮動'類型,現在的意思是正確的。 – Lostferret