Friday, September 17, 2021

8-Python : Filter dan Save Output Menggunakan Library Pandas

 Assalam wbt. Jumpa lagi.

Dalam post yang lepas* korang telah diajar bagaimana untuk import data *.dat dan membuka data tersebut menggunakan library numpy (np.loadtxt) namun kali ini kita akan melihat bagai mana filtering terhadap data boleh dilakukan menggunakan library Pandas serta menyimpan hasil filtering ke dalam fail output berasingan menggunakan library numpy (np.savetxt)

Sila rujuk post 7-Python : Import data (*.dat) format and running script in Notepad or any Editpad editor bagi mendapatkan data1.dat.

################# mula copy dari sini ######################

import numpy as np

data1=np.loadtxt('data1.dat',skiprows=1)

station=data1[:,0]
lat1=data1[:,1]
lon1=data1[:,2]
rain1=data1[:,3]
rain2=data1[:,4]
rain3=data1[:,5]

## METHOD FILTERING USING LIBRARY PANDAS

import pandas as pd

df = pd.DataFrame({"Station": station, "Latitude": lat1,
"Longitude": lon1,"Rain at 4 pm": rain1,"Rain at 5 pm":rain2,
"Rain at 6 pm":rain3})

df1 = df.loc[(df["Rain at 4 pm"] > 10)]
print(df1)

### METHOD SAVING DESIRED OUTPUT

np.savetxt('Output.dat',df1,fmt='%9.3f')

################## program end ###########################

Contoh paparan output.dat

48632.000     4.467   101.367    19.600     0.000     0.600
48648.000     3.102   101.645    51.400     7.200     2.800
48647.000     3.131   101.553    10.400     1.000    27.800
48665.000     2.267   102.250    84.000     0.200     0.000

Catatan:
a) Filtering rain at 4 pm atau column rain 1 bagi jumlah hujan melebihi 10 mm dilakukan.

b) df = pd.DataFrame({}) merujuk kepada format standard untuk declare kesemua list di dalam data ke dalam format baharu dataframe pandas.

c) df1 = df.loc[ ] merujuk kepada format standard kaedah filter jumlah hujan melebihi 10 mm di column rain1. Filter boleh dikembangkan kepada column lain seperti rain2 atau rain3 atau gabungan seperti df1 = df.loc[(df["Rain at 4 pm"] > 10) & (df["Rain at 6 pm"] > 2)] dipisahkan dengan simbol &

d) np.savetxt('Output.dat',df1,fmt='%9.3f') merujuk kepada standard command save text kepada data yang telah difilter iaitu df1 ke dalam fail berasingan iaitu "output.dat" pada format data fmt='%9.3f' yang terdiri daripada 3 titil perpuluhan. Korang boleh lihat file output tersebut ke dalam folder kerja korang.

Selamat mencuba!.


No comments:

Post a Comment

23-Python : Plotting Temperature Histogram

  Assalamualaikum wbt dan jumpa lagi. Post kali ini kita akan cuba untuk membuat analisa taburan suhu purata setiap data yang telah dibelakk...