2013-10-30 222 views
-1

我在Windows中運行的腳本,我得到以下錯誤:錯誤GROUPBY熊貓

Traceback (most recent call last):  
    File "C:\Users\esalazar\Desktop\datos\stat_cea_2011\emas\amealco\promedios-emas.py", line 64, in <module> 
    g=index.groupby(level=0)  
    AttributeError: 'NoneType' object has no attribute 'groupby' 

我已經安裝了大熊貓,SciPy的和numpy的。我需要安裝一些其他庫?我如何解決這個錯誤?

這是我的代碼部分:

data = pd.read_csv('C:/Users/esalazar/Desktop/datos/stat_cea_2011/emas/amealco/enero.csv',skiprows=1,names=['Fecha','Hora','C','D','E','Temperatura','TempRocio','DirViento','I','MagViento','K','Humedad','Presion','N','PreciAcu','P','Q','R','S'],header=0) 
Uviento=[] 
Vviento=[] 

for i in range(0,len(data['MagViento'])): 
    Uviento.append((data['MagViento'][i]*sin((data['DirViento'][i]+180)*(pi/180.0)))) 
    Vviento.append((data['MagViento'][i]*cos((data['DirViento'][i]+180)*(pi/180.0)))) 

data['PromeU']=Uviento 
data['PromeV']=Vviento 

data 
<class 'pandas.core.frame.DataFrame'> 
Int64Index: 4463 entries, 0 to 4462 
Data columns (total 19 columns): 
Fecha   4463 non-null values 
Hora   4463 non-null values 
C    4463 non-null values 
D    4463 non-null values 
E    4463 non-null values 
Temperatura 4463 non-null values 
TempRocio  4463 non-null values 
DirViento  4463 non-null values 
I    4463 non-null values 
MagViento  4463 non-null values 
K    4463 non-null values 
Humedad  4463 non-null values 
Presion  4463 non-null values 
N    4463 non-null values 
PreciAcu  4463 non-null values 
P    4463 non-null values 
Q    4463 non-null values 
R    4463 non-null values 
S    4463 non-null values 
dtypes: float64(8), int64(4), object(7) 

df = data.set_index(['Fecha','Hora'],inplace=True) 
df 

我得到這個錯誤

TypeError: NoneType object has no atribute '--getitem--' 

因此,

grouped = df.groupby(level=0) 

是錯誤太多。

+3

你'index'變量是'None'。顯示你的代碼中涉及'index'的部分。 – sashkello

+0

我編輯評論白我正在使用的腳本 – user1345283

回答

3

data.set_index(['Fecha','Hora'], inplace=True)修改您的DataFrame(請參閱docs);這是inplace=True指定的內容。也就是說,它不會創建新對象,而是直接修改data。你可以做任何

df = data.set_index(['Fecha','Hora']) 
grouped = df.groupby(level=0) 

data.set_index(['Fecha','Hora'], inplace=True) 
grouped = data.groupby(level=0)