2016-02-26 221 views
2

當我計算平均值和std時,我遇到了一個問題。在python中使用熊貓來計算平均值和std

我通過

df = pandas.read_csv("fakedata.csv", skiprows=1, header=None) 

加載一個CSV但隨後的方法

df.mean() 

給我什麼。 以下是raw data的鏈接。

>>> df.mean() 
Series([], dtype: float64) 

我也檢查了計數。

>>> df.count() 
0 40000 
dtype: int64 

我的操作系統是Centos6.7用蟒2.7,熊貓0.17.1

pip show pandas 
--- 
Metadata-Version: 2.0 
Name: pandas 
Version: 0.17.1 
Summary: Powerful data structures for data analysis, time series,and statistics 
Home-page: http://pandas.pydata.org 
Author: The PyData Development Team 
Author-email: [email protected] 
License: BSD 
Location: /usr/local/lib/python2.7/site-packages 
Requires: pytz, python-dateutil, numpy 

[編輯] 的數據幀的信息顯示

>>> df.info() 
<class 'pandas.core.frame.DataFrame'> 
Int64Index: 40000 entries, 0 to 39999 
Data columns (total 1 columns): 
0 40000 non-null object 
dtypes: object(1) 
memory usage: 625.0+ KB 

和數據幀形狀示出

>>> df.shape 
(40000, 1) 
+1

不可能沒有原始數據發表評論重現'df.info()'顯示什麼,還有'df.shape'? – EdChum

+0

@EdChum,感謝您的回覆,我已經添加了鏈接到原始數據,以及數據框的信息和形狀 –

+1

我無法重現錯誤,對我來說它工作正常加載您的數據。我使用Python 2.7.11和pandas 0.17.1。 –

回答

2

我認爲問題依賴於分隔符。複製和文件粘貼到一個.csv文件,我可以讀它:

df = pandas.read_csv("fakedata.csv", skiprows=1, header=None, sep='\s+') 

得到的結果是:

In [18]: df.mean() 
Out[18]: 
0  50.574475 
1  49.585400 
2 169.478500 
3  59.544800 
4 119.814275 
5  79.557500 
6  79.497775 
dtype: float64 

和:

In [19]: df.std() 
Out[19]: 
0 19.787459 
1 19.762996 
2 14.997920 
3 10.034209 
4 40.013550 
5 19.887973 
6 14.947894 
dtype: float64 
+0

謝謝,我錯過了。 –

+2

'delim_whitespace = True'在這裏執行速度會更快 – EdChum