0% menganggap dokumen ini bermanfaat (0 suara)
21 tayangan

P02 - Tutorial Python

Dokumen tersebut memberikan penjelasan tentang membaca dan menganalisis dataset klasik mobil menggunakan library NumPy dan pandas di Python. Dataset tersebut berisi informasi tentang 205 mobil yang mencakup atribut kategorikal dan numerik seperti merek, tipe bahan bakar, jumlah pintu, dan performa mobil. Kode contoh mendemonstrasikan cara menghitung statistik deskriptif seperti nilai minimum, maksimum, rata-rata, dan deviasi standar untuk atribut tertentu serta menge

Diunggah oleh

Daffa Imani Saputra
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
21 tayangan

P02 - Tutorial Python

Dokumen tersebut memberikan penjelasan tentang membaca dan menganalisis dataset klasik mobil menggunakan library NumPy dan pandas di Python. Dataset tersebut berisi informasi tentang 205 mobil yang mencakup atribut kategorikal dan numerik seperti merek, tipe bahan bakar, jumlah pintu, dan performa mobil. Kode contoh mendemonstrasikan cara menghitung statistik deskriptif seperti nilai minimum, maksimum, rata-rata, dan deviasi standar untuk atribut tertentu serta menge

Diunggah oleh

Daffa Imani Saputra
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 34

Membaca Data

BIG DATA – TK13025


Perhatikan data berikut ini.
Pendahuluan
• Praktikum Big Data bukan hanya tentang pemrograman tetapi juga
tentang memahami kumpulan data dan informasi yang diberikannya
kepada ilmuwan data untuk mengekstrak wawasan yang berguna dari
data.
• Library yang akan dipelajari pada pertemuan ini adalah numpy dan
pandas.
Numpy
• Membaca dataset menggunakan numpy
import numpy as np
• Mendefinisikan path
data_path = "ClassicCars.csv"
• Mendefiniskan tipe data karena array numpy tidak dapat membaca
file dengan tipe data yang berbeda
types = ['U20', 'U10', 'U5', 'U20', 'U3', 'f4', 'f4', 'f4', 'f4', 'U10', 'i4', 'i4', 'i4', 'i4', 'i4’]

• Membaca dataset
data = np.genfromtxt(data_path, dtype=types, delimiter=',', names=True)
Numpy
• Jika data disimpan di dalam folder Week2 dan namafilenya adalah
ClassicCars.csv
data_path = "Week2/ClassicCars.csv"
types = ['U20', 'U10', 'U5', 'U20', 'U3', 'f4', 'f4', 'f4', 'f4', 'U10', 'i4', 'i4', 'i4', 'i4', 'i4']

make Categorical (Nominal) U20


fueltype Categorical (Nominal) U10
numofdoors Numerical (Discrete) U5
bodystyle Categorical (Ordinal) U20
drivewheels Categorical (Nominal) U3
wheelbase Numerical (Continous) f4
length Numerical (Continous) f4
width Numerical (Continous) f4
height Numerical (Continous) f4
numofcylinders Categorical (Ordinal) U10
enginesize Numerical (Discrete) i4
horsepower Numerical (Discrete) i4
citympg Numerical (Discrete) i4
highwaympg Numerical (Discrete) i4
price Numerical (Discrete) i4
Menganalisis Dataset
Mengekstrak nama kolom
data.dtype.names
Mengekstrak bentuk array dan ukurannya
print("The shape of the array is: ", data.shape)
T2) Apa yang dapat dilihat?
• Berapa banyak How many entri yang dimiliki oleh array?
• Array (dataset) memiliki 205 entri yang memberikan informasi tentang 205
mobil.
• Apa yang ada disetiap baris data?
• Setiap baris memberikan informasi tentang setiap mobil
Mengekstrak entri kolom yang diberi Namanya
#Mencetak data pada kolom 'make'
print(data['make’])
Mengambil data pada kolom bodystyle
data['bodystyle']
Menganalisis harga mobil

Menganalisis harga mobil untuk keseluruhan dataset


min=np.min(data['price'])
max=np.max(data['price'])
print('Min car price:', min)
print('Max car price:', max)
print('Range: ', max-min)
Min car price: 5118
Max car price: 45400
Range: 40282
Menghitung min, max, mean dan median
kolom price
print("Min car price:", np.min(data['price']))
print("Max car price:", np.max(data['price']))
print("Mean car price:", np.mean(data['price']))
print("Median car price:", np.median(data['price']))
Min car price: 5118
Max car price: 45400
Mean car price: 13300.239024390245
Median car price: 10345.0
Mempertimbangkan nilai yang dihitung di atas, wawasan apa yang
dapat Anda ekstrak? Menurut Anda, di mana sebagian besar harga
mobil akan dikelompokkan?
Min car price: 5118
Max car price: 45400
Range: 40282

Ada perbedaan substansial antara harga mobil minimum dan


maksimum.
Min car price: 5118
Max car price: 45400
Mean car price: 13300.239024390245
Median car price: 10345.0

• Nilai rata-rata dan median lebih dekat dengan harga mobil minimum,
menunjukkan bahwa sebagian besar mobil lebih dekat ke ujung
bawah harga mobil.
• Nilai mean dan median juga cukup dekat; karenanya, keduanya dapat
digunakan sebagai ukuran tendensi sentral.
Tulis kode untuk menghitung standar deviasi untuk harga mobil.
Kemudian gunakan fungsi NumPy yang sesuai untuk mengkonfirmasi
kebenaran perhitungan Anda
Tulis kode untuk menghitung standar deviasi untuk harga mobil. Kemudian gunakan fungsi NumPy yang
sesuai untuk mengkonfirmasi kebenaran perhitungan Anda

def stdUsingNumpyOnly(prices):
return np.sqrt(np.sum(np.power(np.subtract(prices, np.mean(prices)),2))/len(prices))

def stdImplementation(prices):
meanPrice = np.mean(prices)
priceDiffSq = [np.power(price-meanPrice, 2) for price in prices]
priceDiffAvg = np.sum(priceDiffSq)/len(prices)
return np.sqrt(priceDiffAvg)

print("Standard deviation using only numpy functions: ", stdUsingNumpyOnly(data['price']))


print("Standard deviation by implementing std function: ", stdImplementation(data['price']))
print("Standard deviation using NumPy's std function:", np.std(data['price']))
T8) Hitung detail mobil dengan volume mobil terkecil dan terbesar *

Volume = length * height * width

np.multiply(par1, par2)
carsVolume = np.multiply(data['length'], data['height'], data['width’])
tidak bekerja karena parameter ketiga di np.multiply adalah variabel di mana output dari np.multiply akan disimpan
(oleh karena itu, menimpa data['width'] dalam contoh ini).

np.multiply(par1, par2)

carsVolume = np.multiply(np.multiply(data['length'], data['height']), data['width'])


Temukan detail mobil dengan volume mobil terkecil
dan terbesar
carsVolume = np.multiply(np.multiply(data['length'], data['height']), data['width'])
maxVolume = np.max(carsVolume)
minVolume = np.min(carsVolume)

carWithMaxVolume = np.argmax(carsVolume) # np.argmax Returns the indices of the maximum values along an axis.
carWithMinVolume = np.argmin(carsVolume)

print("Max volume:", maxVolume, " belongs to car ", data[carWithMaxVolume])

print("Min volume:", minVolume, " belongs to car ", data[carWithMinVolume])

carsVolume = np.multiply(data['length'], data['height'], data['width’])


tidak bekerja karena parameter ketiga di np.multiply adalah variabel di mana output dari np.multiply akan disimpan
(oleh karena itu, menimpa data['width'] dalam contoh ini).
#Solution2
carsVolume = data['length']* data['height']* data['width']
#Solution3
carsVolume = np.prod(np.vstack([data['length'], data['height'],
data['width']]), axis=0)
Temukan berbagai jenis gaya tubuh untuk
mobil di kumpulan data
print("Unique bodystyles: ", np.unique(data['bodystyle']))
Temukan jumlah merek mobil yang berbeda
(kolom: makes)
uniqueCarMakes = np.unique(data['make'])
print("There are ", len(uniqueCarMakes), "unique
car makes which are:", uniqueCarMakes)
Temukan ukuran mesin dan horsepower untuk mobil yang paling dan
paling tidak efisien saat dikendarai di kota dan jalan raya (yaitu, mobil
dengan perbedaan konsumsi bahan bakar terkecil dan terbesar saat
dikendarai di dalam kota dan jalan raya)
(1) Hitung perbedaan konsumsi bahan bakar saat berkendara di kota
dan jalan raya
(2) Temukan nilai minimum dan maksimum dari konsumsi bahan bakar
yang berbeda
(3) Temukan informasi terperinci tentang mobil terkait
Temukan ukuran mesin dan horsepower untuk mobil yang paling dan paling tidak efisien saat dikendarai di
kota dan jalan raya (yaitu, mobil dengan perbedaan konsumsi bahan bakar terkecil dan terbesar saat
dikendarai di dalam kota dan jalan raya)
Temukan ukuran mesin dan horsepower untuk mobil yang paling dan paling tidak efisien saat dikendarai di kota
dan jalan raya (yaitu, mobil dengan perbedaan konsumsi bahan bakar terkecil dan terbesar saat dikendarai di
dalam kota dan jalan raya)

fuelDiff = np.subtract(data['highwaympg'], data['citympg'])

minFuelDiff = np.min(fuelDiff)
maxFuelDiff = np.max(fuelDiff)

carWithMinFuelDiff = np.argmin(fuelDiff)
carWithMaxFuelDiff = np.argmax(fuelDiff)

print("A %s with engine size=%d and horsepower=%d has the minimum fuel difference (%d) when driven in
the city and the highway"
% (data['make'][carWithMinFuelDiff], data["enginesize"][carWithMinFuelDiff],
data['horsepower'][carWithMinFuelDiff], minFuelDiff))

print("A %s with engine size=%d and horsepower=%d has the maximum fuel difference (%d) when driven in
the city and the highway"
% (data['make'][carWithMaxFuelDiff], data["enginesize"][carWithMaxFuelDiff],
data['horsepower'][carWithMaxFuelDiff], maxFuelDiff))
Temukan merek dengan jumlah mobil terbesar dan berapa jumlahnya
Temukan merek dengan jumlah mobil terbesar dan berapa jumlahnya

makes,counts = np.unique(data['make'], return_counts=True)


maxCarsSameMake = np.argmax(counts)
make = makes[maxCarsSameMake]

print("The company has %d %s cars " % (np.max(counts), make))


Tentukan berapa banyak mobil yang memiliki jarak sumbu roda lebih besar dari 100
Tentukan berapa banyak mobil yang memiliki jarak sumbu roda lebih besar dari 100

carsWithLargeWheelBase = np.count_nonzero(data['wheelbase']>100)

print("There are %d cars whose wheel base is greater than 100" %


(carsWithLargeWheelBase))

np.count_nonzero(data['wheelbase’]<88.6)

np.count_nonzero(data['wheelbase']==110)
Cari tahu apakah ada mobil konvertibel yang harganya kurang dari £15000
Cari tahu apakah ada mobil konvertibel yang
harganya kurang dari £15000
cheapConvertibles = data[(data['bodystyle']=="convertible") & (data['price']<15000)]

print("Details of convertibles that cost less than £15000:\n", cheapConvertibles)


Menghitung rentang interkuartil untuk harga
semua mobil
Q3P = np.percentile(data['price'], 75) #Third quartile
Q1P = np.percentile(data['price'], 25) #First quartile
IQRP = Q3P - Q1P #Inter Quartile Range
print('Price IQR:', IQRP)
Menghitung percentile range ke 50 untuk horsepower dari semua mobil
yang nilainya sama dengan kuartil ke 50

percentile50HP = np.percentile(data['horsepower'], 50) #50th percentile

print('Horsepower 50th percentile:', percentile50HP)

print("Median horsepower:", np.median(data['horsepower']))

Anda mungkin juga menyukai