@@ -253,26 +253,89 @@ pv = df[df['Municipio'] == "PORTO VELHO"]
253
253
pv
254
254
```
255
255
256
+ ## O objeto pd.Series
257
+
256
258
``` {code-cell} ipython3
257
259
riscofogo = pv['RiscoFogo']
258
260
diasemchuva = pv['DiaSemChuva']
259
261
```
260
262
261
263
``` {code-cell} ipython3
262
- import numpy as np
263
- pv = pv.replace(-999, np.nan)
264
+ type(diasemchuva)
265
+ ```
266
+
267
+ ``` {code-cell} ipython3
268
+ diasemchuva
269
+ ```
270
+
271
+ O objeto ` Series ` é uma array unidimensional com rótulos, capaz de conter qualquer tipo de dados:
272
+
273
+ ``` {code-cell} ipython3
274
+ diasemchuva[0]
275
+ ```
276
+
277
+ ``` {code-cell} ipython3
278
+ diasemchuva[332]
279
+ ```
280
+
281
+ ``` {code-cell} ipython3
282
+ riscofogo.mean()
283
+ ```
284
+
285
+ ``` {code-cell} ipython3
286
+ diasemchuva.max()
287
+ ```
288
+
289
+ ``` {code-cell} ipython3
290
+ pv[pv['DiaSemChuva'] == 88.0]
291
+ ```
292
+
293
+ ---
294
+
295
+ +++
296
+
297
+ ## Risco de fogo em função do tempo para Porto Velho, RO
298
+
299
+ ``` {code-cell} ipython3
300
+ pv = pv[['DataHora', 'RiscoFogo', 'DiaSemChuva']].reset_index(drop=True)
301
+ ```
302
+
303
+ ``` {code-cell} ipython3
304
+ pv
305
+ ```
306
+
307
+ Para cada grupo de entradas com o mesmo valor de ` DataHora ` , calcule a média dos valores de ` RiscoFogo ` e ` DiaSemChuva ` .
308
+
309
+ ``` {code-cell} ipython3
310
+ agrupado = pv.groupby(['DataHora'], as_index=False)[["RiscoFogo", "DiaSemChuva"]].mean()
311
+ ```
312
+
313
+ ``` {code-cell} ipython3
314
+ agrupado
315
+ ```
316
+
317
+ ``` {code-cell} ipython3
318
+ pv[pv['DataHora']=='2024/08/22 01:52:00']
264
319
```
265
320
321
+ Surpresa! 🤡
322
+
266
323
``` {code-cell} ipython3
267
- agrupado = pv.groupby('DataHora').mean()
324
+ pv = pv[pv['RiscoFogo']!=-999.0]
268
325
```
269
326
270
327
``` {code-cell} ipython3
328
+ agrupado = pv.groupby(['DataHora'])[["RiscoFogo", "DiaSemChuva"]].mean()
271
329
agrupado
272
330
```
273
331
332
+ Veja https://pandas.pydata.org/docs/user_guide/groupby.html e https://pandas.pydata.org/docs/user_guide/10min.html#grouping .
333
+
274
334
``` {code-cell} ipython3
275
335
datas = list(agrupado.index)
336
+ ```
337
+
338
+ ``` {code-cell} ipython3
276
339
datas = [item[0:10] for item in datas]
277
340
datas
278
341
len(datas)
@@ -282,8 +345,8 @@ len(datas)
282
345
import matplotlib.pyplot as plt
283
346
284
347
fig, ax = plt.subplots(2, 1, figsize=(8, 6))
285
- ax[0].plot(agrupado['riscofogo '], 'r')
286
- ax[1].plot(agrupado['diasemchuva '], 'bo')
348
+ ax[0].plot(agrupado['RiscoFogo '], 'r')
349
+ ax[1].plot(agrupado['DiaSemChuva '], 'bo')
287
350
288
351
# Preparar rótulos da primeira imagem
289
352
ax[0].set_xticks(range(len(datas))[::10]);
@@ -299,11 +362,11 @@ fig.tight_layout()
299
362
``` {code-cell} ipython3
300
363
fig, ax = plt.subplots(figsize=(8, 4))
301
364
302
- ax.plot(agrupado['riscofogo '], 'r')
365
+ ax.plot(agrupado['RiscoFogo '], 'r')
303
366
plt.draw()
304
367
305
368
ax2 = ax.twinx() # instantiate a second axes that shares the same x-axis
306
- ax2.plot(agrupado['diasemchuva '], 'bo')
369
+ ax2.plot(agrupado['DiaSemChuva '], 'bo')
307
370
308
371
ax2.set_xticks(range(len(datas))[::10]);
309
372
ax.set_xticklabels(datas[::10], rotation=30);
0 commit comments