द्वारा समूहित पदानुक्रमित डेटा फ्रेम में नया कॉलम जोड़ने के लिए निम्न स्क्रिप्ट हवा की दिशा और परिमाण के परिणामी औसत की गणना करने का प्रयास करती है। मेरे मासिक dataframe निम्नलिखित स्तंभ है:groupby
data
Fecha Hora DirViento MagViento Temperatura Humedad PreciAcu
0 2011/07/01 00:00 318 6.6 21.22 100 1.7
1 2011/07/01 00:15 342 5.5 21.20 100 1.7
2 2011/07/01 00:30 329 6.6 21.15 100 4.8
3 2011/07/01 00:45 279 7.5 21.11 100 4.2
4 2011/07/01 01:00 318 6.0 21.16 100 2.5
पहली बात मैं DirViento स्तंभ
dir_rad=[]
for i in range(0, len(data['DirViento'])):
dir_rad.append(data['DirViento'][i]*(pi/180.0))
data['DirViento']=around(dir_rad,1)
अब घटकों के कॉलम मिल रेडियंस में परिवर्तित किया जाता है कार्य करें: यू और वी हवा और डेटा के लिए जोड़
Uviento=[]
Vviento=[]
for i in range(0,len(data['MagViento'])):
Uviento.append(data['MagViento'][i]*sin(data[DirViento][i]))
Vviento.append(data['MagViento'][i]*cos(data[DirViento][i]))
data['u']=around(Uviento,1)
data['v']=around(Vviento,1)
data
Data columns:
Fecha 51 non-null values
Hora 51 non-null values
DirViento 51 non-null values
MagViento 51 non-null values
Temperatura 51 non-null values
Humedad 51 non-null values
PreciAcu 51 non-null values
u 51 non-null values
v 51 non-null values
dtypes: float64(6), int64(2), object(2)
अब हम dataframe अनुक्रमित और वर्गीकृत किया
index=data.set_index(['Fecha','Hora'],inplace=True)
grouped = index.groupby(level=0)
data['u']
Fecha Hora
2011/07/01 00:00 -4.4
00:15 -1.7
00:30 -3.4
00:45 -7.4
01:00 -4.0
2011/07/02 00:00 -4.5
00:15 -4.2
00:30 -7.6
00:45 -3.8
01:00 -2.0
2011/07/03 00:00 -6.3
00:15 -13.7
00:30 -0.3
00:45 -2.5
01:00 -2.7
अब प्रत्येक दिन
grouped.apply(lambda x: ((scipy.arctan2(mean(x['uu']),mean(x['vv'])))/(pi/180.0)))
Fecha
2011/07/01 -55.495677
2011/07/02 -39.176537
2011/07/03 -51.416339
परिणाम प्राप्त, मैं निम्नलिखित शर्तों
for i in grouped.apply(lambda x: ((scipy.arctan2(mean(x['uu']),mean(x['vv'])))/(pi/180.0))):
if i < 180:
i=i+180
else:
if i > 180:
i=i-180
else:
i=i
print i
124.504323033
140.823463279
128.5836605
अगले शब्दकोश
stat_cea = grouped.agg({'MagRes':np.mean,'DirRes':np.mean,'Temperatura':np.mean,'Humedad':np.mean,'PreciAcu':np.sum})
stat_cea
Fecha DirRes Humedad PreciAcu Temperatura
2011/07/01 100.000000 30.4 21.367059
2011/07/02 99.823529 18.0 21.841765
2011/07/03 99.823529 4.0 21.347059
को पिछले परिणाम को जोड़ने के लिए कैसे लागू करने की आवश्यकता के लिए परिणामी हवा की दिशा मिल