Eğitim Pandas kütüphanesi analtmakla devam ediyor. Bugün eğitim içerisinde verileri okuduktan sonra dataframe içerisinde uygun formata nasıl getirebileceğimizi gördük. Örnek olması açısından mesela aşağıdaki gibi bir veri olabilir.
Şehir,Tarih,Sıcaklık(°C)
İstanbul,2024-06-15,24.8
Ankara,2024-06-15,
İzmir,2024-06-15,29.6
Antalya,2024-06-15,18.2
Bursa,2024-06-15,23.8
Gaziantep,2024-06-15,32.6
İstanbul,2024-06-16,
Ankara,2024-06-16,28.0
İzmir,2024-06-16,
Antalya,2024-06-16,32.2
Bursa,2024-06-16,33.8
Gaziantep,2024-06-16,16.5
İstanbul,2024-06-17,23.2
Ankara,2024-06-17,20.1
İzmir,2024-06-17,25.4
Antalya,2024-06-17,32.9
Bursa,2024-06-17,30.7
Gaziantep,2024-06-17,30.6
İstanbul,2024-06-18,20.5
Ankara,2024-06-18,22.5
İzmir,2024-06-18,33.8
Antalya,2024-06-18,23.3
Bursa,2024-06-18,
Gaziantep,2024-06-18,24.7
İstanbul,2024-06-19,23.6
Ankara,2024-06-19,19.5
İzmir,2024-06-19,30.0
Antalya,2024-06-19,18.8
Bursa,2024-06-19,
Gaziantep,2024-06-19,32.9
İstanbul,2024-06-20,24.0
Ankara,2024-06-20,34.3
İzmir,2024-06-20,31.6
Antalya,2024-06-20,19.6
Bursa,2024-06-20,27.0
Gaziantep,2024-06-20,25.8
İstanbul,2024-06-21,15.4
Ankara,2024-06-21,24.4
İzmir,2024-06-21,30.9
Antalya,2024-06-21,21.8
Bursa,2024-06-21,30.8
Gaziantep,2024-06-21,27.5
İstanbul,2024-06-22,30.7
Ankara,2024-06-22,28.4
İzmir,2024-06-22,
Antalya,2024-06-22,25.1
Bursa,2024-06-22,
Gaziantep,2024-06-22,31.2
İstanbul,2024-06-23,
Ankara,2024-06-23,25.5
İzmir,2024-06-23,18.5
Antalya,2024-06-23,22.1
Bursa,2024-06-23,31.6
Gaziantep,2024-06-23,25.6
İstanbul,2024-06-24,29.1
Ankara,2024-06-24,29.9
İzmir,2024-06-24,24.1
Antalya,2024-06-24,20.4
Bursa,2024-06-24,
Gaziantep,2024-06-24,31.9
Burada görüldüğü üzere aslında şehir isimleri tekrar ediyor ve bunu dataframe ile sanki bir pivot tablo gibi göstermek isteyebiliriz. index kısmında tarihler, column kısmında Şehirler ve data kısmında ise sıcaklıklar olmalıdır. Bunun için yapılması gereken dönüşüm bu şekildedeir.
import numpy as np
import pandas as pd
data = pd.read_csv('hava_durumu.csv')
print("Orijinal veri:")
print(data.head())
#Seri'den 2 boyutlu DataFrame'e dönüştürme
count_Tarih = len(data["Tarih"].unique())
count_Sehir = len(data["Şehir"].unique())
sicakliklar = data["Sıcaklık(°C)"].values.reshape(count_Tarih, count_Sehir)
df = pd.DataFrame(columns=data["Şehir"].unique(), index=data["Tarih"].unique(), data=sicakliklar)
print(df)
Orijinal veri:
Şehir Tarih Sıcaklık(°C)
0 İstanbul 2024-06-15 24.8
1 Ankara 2024-06-15 NaN
2 İzmir 2024-06-15 29.6
3 Antalya 2024-06-15 18.2
4 Bursa 2024-06-15 23.8
İstanbul Ankara İzmir Antalya Bursa Gaziantep
2024-06-15 24.8 NaN 29.6 18.2 23.8 32.6
2024-06-16 NaN 28.0 NaN 32.2 33.8 16.5
2024-06-17 23.2 20.1 25.4 32.9 30.7 30.6
2024-06-18 20.5 22.5 33.8 23.3 NaN 24.7
2024-06-19 23.6 19.5 30.0 18.8 NaN 32.9
2024-06-20 24.0 34.3 31.6 19.6 27.0 25.8
2024-06-21 15.4 24.4 30.9 21.8 30.8 27.5
2024-06-22 30.7 28.4 NaN 25.1 NaN 31.2
2024-06-23 NaN 25.5 18.5 22.1 31.6 25.6
2024-06-24 29.1 29.9 24.1 20.4 NaN 31.9
Görüldüğü üzere burada aslında bazı NaN değerler var. Bu değerleri istediğimiz gibi değiştirebiliriz. Örneğin:
print("NaN değerlerini kontrol etme:")
print(df.isnull().sum())
print("NaN değerlerini ortalama ile doldurma:")
new_df = df.fillna(df.mean())
print(new_df)
NaN değerlerini kontrol etme:
İstanbul 2
Ankara 1
İzmir 2
Antalya 0
Bursa 4
Gaziantep 0
dtype: int64
NaN değerlerini ortalama ile doldurma:
İstanbul Ankara İzmir Antalya Bursa Gaziantep
2024-06-15 24.8000 25.844444 29.6000 18.2 23.800000 32.6
2024-06-16 23.9125 28.000000 27.9875 32.2 33.800000 16.5
2024-06-17 23.2000 20.100000 25.4000 32.9 30.700000 30.6
2024-06-18 20.5000 22.500000 33.8000 23.3 29.616667 24.7
2024-06-19 23.6000 19.500000 30.0000 18.8 29.616667 32.9
2024-06-20 24.0000 34.300000 31.6000 19.6 27.000000 25.8
2024-06-21 15.4000 24.400000 30.9000 21.8 30.800000 27.5
2024-06-22 30.7000 28.400000 27.9875 25.1 29.616667 31.2
2024-06-23 23.9125 25.500000 18.5000 22.1 31.600000 25.6
2024-06-24 29.1000 29.900000 24.1000 20.4 29.616667 31.9
Ya da bunları silmek isteyebilirsiniz.
print("NaN değerlerini silme:")
new_df2 = df.dropna()
print(new_df2)
NaN değerlerini silme:
İstanbul Ankara İzmir Antalya Bursa Gaziantep
2024-06-17 23.2 20.1 25.4 32.9 30.7 30.6
2024-06-20 24.0 34.3 31.6 19.6 27.0 25.8
2024-06-21 15.4 24.4 30.9 21.8 30.8 27.5
NaN değerlerle örnekler yapıldıktan sonra kısaca gruplama olayından bahsedildi.
Örnek verim şu şekilde:
Tarih,Şehir,Ürün,Satış_Tutarı,Miktar
2024-06-01,İzmir,Tablet,3406.3,1
2024-06-01,Antalya,Kulaklık,3414.95,3
2024-06-01,Bursa,Tablet,1655.22,8
2024-06-01,Bursa,Telefon,4315.35,4
2024-06-01,Ankara,Telefon,3235.14,9
2024-06-01,Bursa,Tablet,1185.02,8
2024-06-01,Ankara,Bilgisayar,3561.93,6
2024-06-02,Ankara,Telefon,1552.01,3
2024-06-02,Bursa,Telefon,3806.52,7
2024-06-02,Ankara,Bilgisayar,1115.12,3
2024-06-02,Ankara,Telefon,2284.68,10
2024-06-02,Ankara,Kulaklık,3520.6,7
2024-06-02,İzmir,Tablet,735.54,4
2024-06-02,Bursa,Telefon,1087.88,10
2024-06-02,Bursa,Telefon,3560.81,2
2024-06-02,İstanbul,Kulaklık,2574.94,3
2024-06-02,Bursa,Bilgisayar,2395.74,7
2024-06-02,Bursa,Tablet,4122.33,7
2024-06-02,Antalya,Telefon,2482.54,1
2024-06-02,İstanbul,Tablet,4538.81,10
2024-06-02,İstanbul,Kulaklık,1291.65,9
2024-06-02,Ankara,Tablet,1261.41,3
2024-06-03,Bursa,Tablet,1839.05,2
2024-06-03,İzmir,Telefon,4999.28,2
2024-06-03,Antalya,Tablet,3094.95,9
2024-06-03,Ankara,Kulaklık,1107.28,3
2024-06-03,Bursa,Bilgisayar,3733.21,5
2024-06-03,İstanbul,Bilgisayar,2896.66,2
2024-06-04,İzmir,Bilgisayar,2491.89,6
2024-06-04,Bursa,Tablet,3655.01,1
2024-06-04,Ankara,Telefon,3189.93,9
2024-06-04,İstanbul,Kulaklık,845.06,10
2024-06-04,Ankara,Tablet,3372.91,10
2024-06-04,Ankara,Bilgisayar,1106.56,6
2024-06-04,Bursa,Telefon,546.84,4
2024-06-04,Ankara,Tablet,2254.29,3
2024-06-04,İzmir,Tablet,3882.22,2
2024-06-04,Ankara,Tablet,3567.46,5
2024-06-04,Antalya,Bilgisayar,2113.7,7
2024-06-04,İstanbul,Bilgisayar,2327.68,9
2024-06-04,Bursa,Kulaklık,1970.68,1
2024-06-05,Ankara,Kulaklık,195.08,3
2024-06-05,İstanbul,Tablet,2577.36,5
2024-06-05,Ankara,Bilgisayar,4285.9,5
2024-06-05,Bursa,Telefon,415.1,2
2024-06-05,Bursa,Tablet,2247.83,6
2024-06-05,Antalya,Kulaklık,4062.43,4
2024-06-05,İstanbul,Tablet,3964.58,10
2024-06-05,İstanbul,Bilgisayar,520.57,6
2024-06-06,İstanbul,Telefon,3052.53,1
2024-06-06,Antalya,Bilgisayar,2192.65,4
2024-06-06,İzmir,Bilgisayar,191.72,1
2024-06-06,İstanbul,Telefon,2568.92,1
2024-06-06,İstanbul,Bilgisayar,163.3,9
2024-06-06,Ankara,Bilgisayar,1832.34,6
2024-06-06,Antalya,Tablet,1881.42,9
2024-06-06,İzmir,Bilgisayar,957.64,8
2024-06-06,Bursa,Tablet,3911.05,3
2024-06-07,Ankara,Telefon,3644.6,9
2024-06-07,Bursa,Tablet,1745.6,1
2024-06-07,İstanbul,Telefon,1414.13,4
2024-06-07,İstanbul,Telefon,3201.04,5
2024-06-07,İstanbul,Bilgisayar,4395.53,5
2024-06-08,Bursa,Kulaklık,1901.66,8
2024-06-08,Ankara,Telefon,2588.16,3
2024-06-08,İzmir,Tablet,4451.54,10
2024-06-08,İzmir,Tablet,2915.2,6
2024-06-08,Bursa,Tablet,1906.42,9
2024-06-08,Antalya,Tablet,251.81,2
2024-06-08,İstanbul,Bilgisayar,3333.39,1
2024-06-08,İstanbul,Telefon,1643.84,1
2024-06-08,Ankara,Bilgisayar,4985.31,5
2024-06-08,Bursa,Kulaklık,2816.86,10
2024-06-08,Ankara,Bilgisayar,905.52,4
2024-06-09,İstanbul,Kulaklık,1353.1,5
2024-06-09,Bursa,Bilgisayar,483.06,6
2024-06-09,İzmir,Tablet,4562.56,8
2024-06-09,Antalya,Tablet,4436.79,5
2024-06-09,İzmir,Bilgisayar,2914.2,7
2024-06-09,İstanbul,Telefon,1071.32,10
2024-06-09,İstanbul,Telefon,4915.33,4
2024-06-09,İstanbul,Tablet,2497.44,3
2024-06-09,İzmir,Tablet,131.26,3
2024-06-10,Ankara,Telefon,2224.51,5
2024-06-10,Ankara,Bilgisayar,1766.85,8
2024-06-10,Antalya,Bilgisayar,4713.13,8
2024-06-10,İzmir,Kulaklık,2399.26,1
2024-06-10,İzmir,Bilgisayar,2502.48,10
2024-06-10,İzmir,Kulaklık,3620.7,3
2024-06-10,İzmir,Bilgisayar,3479.66,9
2024-06-11,Antalya,Telefon,4902.42,5
2024-06-11,Antalya,Bilgisayar,3131.02,6
2024-06-11,İzmir,Tablet,1596.8,1
2024-06-11,Antalya,Telefon,3953.44,9
2024-06-11,İstanbul,Telefon,1463.11,6
2024-06-11,Antalya,Tablet,3217.97,1
2024-06-12,İzmir,Tablet,4001.7,7
2024-06-12,Ankara,Kulaklık,3797.07,10
2024-06-12,Ankara,Telefon,2257.88,2
2024-06-12,İstanbul,Telefon,759.1,5
2024-06-12,Ankara,Kulaklık,2800.13,8
2024-06-12,Antalya,Bilgisayar,2702.72,4
2024-06-12,Ankara,Bilgisayar,3384.2,10
2024-06-12,Antalya,Bilgisayar,880.89,9
2024-06-12,Bursa,Kulaklık,3688.77,8
2024-06-12,Ankara,Bilgisayar,2505.55,8
2024-06-12,Ankara,Bilgisayar,2219.21,2
2024-06-13,İzmir,Tablet,3389.8,10
2024-06-13,İstanbul,Bilgisayar,2879.7,9
2024-06-13,İstanbul,Tablet,929.35,2
2024-06-13,Bursa,Tablet,4679.36,3
2024-06-13,Bursa,Telefon,916.22,8
2024-06-13,Bursa,Telefon,2281.49,2
2024-06-13,Bursa,Tablet,2649.03,2
2024-06-13,Bursa,Kulaklık,1441.89,8
2024-06-13,Bursa,Kulaklık,2713.81,1
2024-06-14,İstanbul,Bilgisayar,4849.57,5
2024-06-14,İstanbul,Telefon,3961.64,2
2024-06-14,Ankara,Kulaklık,3958.42,4
2024-06-14,Ankara,Tablet,3900.24,3
2024-06-14,Ankara,Bilgisayar,3014.58,8
2024-06-14,Antalya,Bilgisayar,710.5,4
2024-06-14,İstanbul,Bilgisayar,939.89,1
2024-06-14,Antalya,Kulaklık,1211.54,8
2024-06-14,İstanbul,Telefon,4151.35,3
2024-06-14,Bursa,Kulaklık,1807.25,5
2024-06-14,Antalya,Tablet,2716.48,1
2024-06-14,Bursa,Telefon,2568.85,6
2024-06-15,Antalya,Kulaklık,3608.38,5
2024-06-15,İzmir,Tablet,1518.73,6
2024-06-15,İzmir,Kulaklık,4162.09,9
2024-06-15,İzmir,Kulaklık,555.87,10
2024-06-15,Antalya,Kulaklık,224.44,6
2024-06-16,İstanbul,Tablet,3923.06,8
2024-06-16,Antalya,Telefon,1168.45,7
2024-06-16,Bursa,Telefon,2392.07,8
2024-06-16,Ankara,Telefon,4218.39,1
2024-06-16,İstanbul,Telefon,2244.88,9
2024-06-16,Bursa,Kulaklık,619.19,2
2024-06-16,İstanbul,Tablet,1821.17,9
2024-06-16,İzmir,Tablet,2718.89,10
2024-06-16,Antalya,Kulaklık,3692.01,1
2024-06-16,İstanbul,Telefon,1119.86,9
2024-06-16,Ankara,Tablet,1767.51,7
2024-06-16,Antalya,Tablet,1874.11,6
2024-06-16,İstanbul,Bilgisayar,1386.31,2
2024-06-16,Bursa,Bilgisayar,2992.47,9
2024-06-17,Antalya,Kulaklık,1882.49,10
2024-06-17,Ankara,Kulaklık,1153.86,3
2024-06-17,Antalya,Telefon,3130.05,7
2024-06-17,Antalya,Telefon,3962.67,3
2024-06-17,Ankara,Bilgisayar,4223.04,7
2024-06-17,Ankara,Kulaklık,146.05,6
2024-06-17,Bursa,Telefon,1519.53,7
2024-06-18,Bursa,Tablet,3521.98,6
2024-06-18,İzmir,Kulaklık,3180.75,8
2024-06-18,Bursa,Telefon,3895.33,4
2024-06-18,Bursa,Kulaklık,1253.38,3
2024-06-18,Ankara,Kulaklık,4720.16,6
2024-06-18,Antalya,Kulaklık,4393.34,8
2024-06-18,İstanbul,Kulaklık,2563.72,4
2024-06-18,Ankara,Kulaklık,4732.44,10
2024-06-19,Ankara,Bilgisayar,968.13,5
2024-06-19,Bursa,Bilgisayar,223.95,3
2024-06-19,Ankara,Kulaklık,2274.05,10
2024-06-19,Bursa,Kulaklık,3334.65,9
2024-06-19,İzmir,Telefon,3716.59,3
2024-06-19,İzmir,Tablet,1095.62,4
2024-06-19,İstanbul,Bilgisayar,4814.91,7
2024-06-19,İstanbul,Telefon,1681.52,4
2024-06-19,Bursa,Tablet,4791.78,4
2024-06-19,İzmir,Tablet,2206.85,5
2024-06-19,İzmir,Bilgisayar,200.92,3
2024-06-19,Antalya,Telefon,1949.04,8
2024-06-19,İzmir,Kulaklık,2885.89,2
2024-06-19,Ankara,Telefon,4777.43,4
2024-06-20,Ankara,Tablet,3150.58,2
2024-06-20,Antalya,Tablet,4002.05,7
2024-06-20,İstanbul,Kulaklık,1793.46,8
2024-06-20,İzmir,Kulaklık,1380.03,7
2024-06-20,Antalya,Tablet,422.43,3
2024-06-20,Bursa,Telefon,3992.26,8
2024-06-20,İzmir,Kulaklık,4736.18,1
2024-06-20,Antalya,Tablet,3066.74,7
2024-06-20,Bursa,Telefon,1991.96,1
2024-06-20,Antalya,Kulaklık,1961.05,7
2024-06-20,Antalya,Telefon,4334.29,8
2024-06-20,İzmir,Telefon,1060.98,5
2024-06-20,İzmir,Bilgisayar,3540.93,7
2024-06-20,İstanbul,Bilgisayar,2141.87,8
2024-06-20,İzmir,Bilgisayar,1781.29,9
2024-06-21,İzmir,Kulaklık,2204.92,5
2024-06-21,Bursa,Bilgisayar,4542.21,4
2024-06-21,İzmir,Bilgisayar,4076.58,9
2024-06-21,Ankara,Telefon,4449.23,2
2024-06-21,İstanbul,Kulaklık,4559.3,7
2024-06-21,İzmir,Telefon,1546.09,6
2024-06-21,Bursa,Bilgisayar,1292.83,8
2024-06-21,Bursa,Kulaklık,1735.5,4
2024-06-22,Bursa,Telefon,1128.38,6
2024-06-22,Antalya,Bilgisayar,3284.66,5
2024-06-22,Antalya,Tablet,4949.63,5
2024-06-22,Antalya,Tablet,3675.8,6
2024-06-22,Antalya,Bilgisayar,2912.36,10
2024-06-22,Antalya,Kulaklık,4753.04,2
2024-06-22,Ankara,Tablet,4234.42,6
2024-06-23,İstanbul,Kulaklık,893.6,8
2024-06-23,İzmir,Bilgisayar,4191.03,6
2024-06-23,İzmir,Telefon,2531.75,7
2024-06-23,Ankara,Tablet,2776.7,10
2024-06-23,İzmir,Bilgisayar,2452.66,8
2024-06-23,İstanbul,Telefon,1706.07,2
2024-06-23,Antalya,Bilgisayar,3697.75,8
2024-06-23,Bursa,Bilgisayar,1823.55,9
2024-06-23,Ankara,Telefon,3546.45,9
2024-06-23,Ankara,Tablet,641.51,5
2024-06-23,İzmir,Kulaklık,4960.17,5
2024-06-23,Antalya,Bilgisayar,1950.2,3
2024-06-23,Antalya,Tablet,1617.26,10
2024-06-23,İstanbul,Telefon,1455.81,9
2024-06-23,İstanbul,Kulaklık,2008.25,6
2024-06-24,Ankara,Bilgisayar,501.42,7
2024-06-24,Bursa,Kulaklık,1119.64,8
2024-06-24,Ankara,Tablet,2636.88,7
2024-06-24,Bursa,Kulaklık,2148.63,5
2024-06-24,Antalya,Kulaklık,3787.49,10
2024-06-24,Ankara,Bilgisayar,2965.25,4
2024-06-24,Bursa,Bilgisayar,2012.18,9
2024-06-25,İstanbul,Bilgisayar,4380.48,2
2024-06-25,Ankara,Bilgisayar,2439.35,9
2024-06-25,Antalya,Bilgisayar,1354.23,2
2024-06-25,Antalya,Kulaklık,578.2,1
2024-06-25,Ankara,Bilgisayar,2065.83,3
2024-06-25,İstanbul,Telefon,3897.47,10
2024-06-25,İzmir,Telefon,1699.08,10
2024-06-25,Ankara,Telefon,4504.33,10
2024-06-25,Antalya,Tablet,2364.54,6
2024-06-25,Antalya,Kulaklık,1519.17,10
2024-06-26,Bursa,Bilgisayar,2546.17,6
2024-06-26,Ankara,Bilgisayar,2459.79,6
2024-06-26,Bursa,Tablet,3018.7,2
2024-06-26,İstanbul,Bilgisayar,4499.91,6
2024-06-26,İstanbul,Tablet,2741.02,8
2024-06-26,Ankara,Tablet,2768.09,5
2024-06-26,İstanbul,Kulaklık,4135.9,2
2024-06-26,Bursa,Telefon,1092.2,2
2024-06-26,Bursa,Bilgisayar,354.83,5
2024-06-26,Antalya,Tablet,3769.98,6
2024-06-26,İzmir,Kulaklık,2542.13,2
2024-06-26,Antalya,Bilgisayar,2220.64,2
2024-06-26,İstanbul,Kulaklık,4135.73,5
2024-06-26,Bursa,Telefon,2810.84,3
2024-06-27,Antalya,Telefon,3964.7,2
2024-06-27,Ankara,Tablet,1227.67,7
2024-06-27,İstanbul,Telefon,2939.8,6
2024-06-27,İzmir,Kulaklık,1136.06,5
2024-06-27,İzmir,Telefon,461.85,5
2024-06-27,Bursa,Tablet,274.32,8
2024-06-27,İzmir,Tablet,4787.67,7
2024-06-27,Ankara,Kulaklık,2127.93,10
2024-06-27,İzmir,Bilgisayar,2752.55,3
2024-06-27,Ankara,Kulaklık,654.58,4
2024-06-28,İzmir,Kulaklık,3660.98,10
2024-06-28,Antalya,Tablet,1050.06,10
2024-06-28,İstanbul,Bilgisayar,2588.17,10
2024-06-28,Ankara,Telefon,3407.36,1
2024-06-28,Antalya,Bilgisayar,4056.8,10
2024-06-28,Antalya,Tablet,990.74,8
2024-06-28,Ankara,Telefon,4785.75,10
2024-06-28,Bursa,Tablet,807.71,8
2024-06-28,Antalya,Telefon,1898.47,7
2024-06-29,Ankara,Bilgisayar,4078.26,5
2024-06-29,İstanbul,Kulaklık,2136.91,2
2024-06-29,Ankara,Telefon,699.43,8
2024-06-29,Ankara,Tablet,3292.95,1
2024-06-29,Antalya,Telefon,4842.75,2
2024-06-29,İzmir,Bilgisayar,2142.18,10
2024-06-29,Bursa,Tablet,2313.65,1
2024-06-29,Antalya,Tablet,3297.28,2
2024-06-29,İzmir,Kulaklık,788.32,4
2024-06-29,Antalya,Kulaklık,236.51,1
2024-06-29,Antalya,Tablet,859.45,8
2024-06-29,Antalya,Telefon,2330.06,1
2024-06-29,Antalya,Telefon,3244.8,10
2024-06-30,Bursa,Telefon,2318.83,4
2024-06-30,Antalya,Bilgisayar,4561.34,7
2024-06-30,Antalya,Kulaklık,681.43,3
2024-06-30,Bursa,Telefon,2260.76,8
2024-06-30,Antalya,Kulaklık,3555.09,4
2024-06-30,Ankara,Bilgisayar,1834.74,9
2024-06-30,Bursa,Tablet,743.93,9
2024-06-30,Bursa,Telefon,3145.38,10
2024-06-30,İzmir,Kulaklık,2788.25,7
2024-06-30,Antalya,Tablet,3152.89,1
Bu verilerle basit bir gruplama örneği ve çıktısı:
print("Gruplama örneği:")
data = pd.read_csv('satış_verisi.csv')
print(data.head())
print("Şehre göre ortalama satış tutarı:")
print(data.groupby('Şehir')['Satış_Tutarı'].mean())
Gruplama örneği:
Tarih Şehir Ürün Satış_Tutarı Miktar
0 2024-06-01 İzmir Tablet 3406.30 1
1 2024-06-01 Antalya Kulaklık 3414.95 3
2 2024-06-01 Bursa Tablet 1655.22 8
3 2024-06-01 Bursa Telefon 4315.35 4
4 2024-06-01 Ankara Telefon 3235.14 9
Şehre göre ortalama satış tutarı:
Şehir
Ankara 2681.631719
Antalya 2701.565781
Bursa 2259.140323
İstanbul 2578.303208
İzmir 2590.071176
Name: Satış_Tutarı, dtype: float64
Eğitimde son olarakda join işlemleri anlatıldı. Burada iki farklı kaynak ile çalışıldığındaki durum simüle ediliyor. Kaynaklar aşağıdaki gibidir.
MüşteriID,Ad,Şehir,Email
1,Ahmet,İstanbul,[email protected]
2,Betül,Ankara,[email protected]
3,Cem,İzmir,[email protected]
4,Deniz,Antalya,[email protected]
5,Eda,Bursa,[email protected]
6,Fatih,Gaziantep,[email protected]
SipariişID,MüşteriID,Ürün,Tutar
101,1,Laptop,5000
102,2,Telefon,3000
103,2,Tablet,2000
104,3,Kulaklık,500
105,5,Bilgisayar,4000
106,7,Monitör,1500
107,8,Yazıcı,800
108,4,Fare,200
İlk örneket inner join gösteriliyor.
#join işlemi
print("Join işlemi örneği:")
data = pd.read_csv('müşteriler.csv')
data2 = pd.read_csv('siparişler.csv')
print("Müşteriler tablosu:")
print(data.head())
print("Siparişler tablosu:")
print(data2.head())
print("Inner Join işlemi:")
inner_join = pd.merge(data, data2, on='MüşteriID', how='inner')
print(inner_join)
Join işlemi örneği:
Müşteriler tablosu:
MüşteriID Ad Şehir Email
0 1 Ahmet İstanbul [email protected]
1 2 Betül Ankara [email protected]
2 3 Cem İzmir [email protected]
3 4 Deniz Antalya [email protected]
4 5 Eda Bursa [email protected]
Siparişler tablosu:
SipariişID MüşteriID Ürün Tutar
0 101 1 Laptop 5000
1 102 2 Telefon 3000
2 103 2 Tablet 2000
3 104 3 Kulaklık 500
4 105 5 Bilgisayar 4000
Inner Join işlemi:
MüşteriID Ad Şehir Email SipariişID Ürün Tutar
0 1 Ahmet İstanbul [email protected] 101 Laptop 5000
1 2 Betül Ankara [email protected] 102 Telefon 3000
2 2 Betül Ankara [email protected] 103 Tablet 2000
3 5 Eda Bursa [email protected] 105 Bilgisayar 4000
4 3 Cem İzmir [email protected] 104 Kulaklık 500
5 4 Deniz Antalya [email protected] 108 Fare 200
Left join:
print("Left Join işlemi:")
left_join = pd.merge(data, data2, on='MüşteriID', how='left')
print(left_join)
Left Join işlemi:
MüşteriID Ad Şehir Email SipariişID Ürün Tutar
0 1 Ahmet İstanbul [email protected] 101.0 Laptop 5000.0
1 2 Betül Ankara [email protected] 102.0 Telefon 3000.0
2 2 Betül Ankara [email protected] 103.0 Tablet 2000.0
3 3 Cem İzmir [email protected] 104.0 Kulaklık 500.0
4 4 Deniz Antalya [email protected] 108.0 Fare 200.0
5 5 Eda Bursa [email protected] 105.0 Bilgisayar 4000.0
6 6 Fatih Gaziantep [email protected] NaN NaN NaN
Right Join:
print("Right Join işlemi:")
right_join = pd.merge(data, data2, on='MüşteriID', how='right')
print(right_join)
Right Join işlemi:
MüşteriID Ad Şehir Email SipariişID Ürün Tutar
0 1 Ahmet İstanbul [email protected] 101 Laptop 5000
1 2 Betül Ankara [email protected] 102 Telefon 3000
2 2 Betül Ankara [email protected] 103 Tablet 2000
3 3 Cem İzmir [email protected] 104 Kulaklık 500
4 5 Eda Bursa [email protected] 105 Bilgisayar 4000
5 7 NaN NaN NaN 106 Monitör 1500
6 8 NaN NaN NaN 107 Yazıcı 800
7 4 Deniz Antalya [email protected] 108 Fare 200
Outer Join:
print("Outer Join işlemi:")
outer_join = pd.merge(data, data2, on='MüşteriID', how='outer')
print(outer_join)
Outer Join işlemi:
MüşteriID Ad Şehir Email SipariişID Ürün Tutar
0 1 Ahmet İstanbul [email protected] 101.0 Laptop 5000.0
1 2 Betül Ankara [email protected] 102.0 Telefon 3000.0
2 2 Betül Ankara [email protected] 103.0 Tablet 2000.0
3 3 Cem İzmir [email protected] 104.0 Kulaklık 500.0
4 4 Deniz Antalya [email protected] 108.0 Fare 200.0
5 5 Eda Bursa [email protected] 105.0 Bilgisayar 4000.0
6 6 Fatih Gaziantep [email protected] NaN NaN NaN
7 7 NaN NaN NaN 106.0 Monitör 1500.0
8 8 NaN NaN NaN 107.0 Yazıcı 800.0
Son olarak ise append olayından bahsedilmiştir. Burada aslında loop olarak yapmak istediğimiz işlemleri append ile kolay şekilde gerçekleştirebiliyoruz. Örnek aşağıda verilmiştir.
print("Append işlemi örneği:")
def degerlendirme(data):
if data >= 24:
return "Sıcak"
elif data >= 15 and data < 24:
return "Ilık"
else:
return "Soğuk"
data = pd.read_csv('hava_durumu.csv')
count_Tarih = len(data["Tarih"].unique())
count_Sehir = len(data["Şehir"].unique())
sicakliklar = data["Sıcaklık(°C)"].values.reshape(count_Tarih, count_Sehir)
df = pd.DataFrame(columns=data["Şehir"].unique(), index=data["Tarih"].unique(), data=sicakliklar)
print("Orijinal DataFrame:")
print(df)
print("Sadece İstanbul sütunu:")
new_df = pd.DataFrame(df["İstanbul"])
print(new_df)
print("Yeni sütun ekleme:")
new_df["İstanbul_Değerlendirme"] = new_df["İstanbul"].apply(degerlendirme)
print(new_df)
İşte Çıktısı:
Append işlemi örneği:
Orijinal DataFrame:
İstanbul Ankara İzmir Antalya Bursa Gaziantep
2024-06-15 24.8 NaN 29.6 18.2 23.8 32.6
2024-06-16 NaN 28.0 NaN 32.2 33.8 16.5
2024-06-17 23.2 20.1 25.4 32.9 30.7 30.6
2024-06-18 20.5 22.5 33.8 23.3 NaN 24.7
2024-06-19 23.6 19.5 30.0 18.8 NaN 32.9
2024-06-20 24.0 34.3 31.6 19.6 27.0 25.8
2024-06-21 15.4 24.4 30.9 21.8 30.8 27.5
2024-06-22 30.7 28.4 NaN 25.1 NaN 31.2
2024-06-23 NaN 25.5 18.5 22.1 31.6 25.6
2024-06-24 29.1 29.9 24.1 20.4 NaN 31.9
Sadece İstanbul sütunu:
İstanbul
2024-06-15 24.8
2024-06-16 NaN
2024-06-17 23.2
2024-06-18 20.5
2024-06-19 23.6
2024-06-20 24.0
2024-06-21 15.4
2024-06-22 30.7
2024-06-23 NaN
2024-06-24 29.1
Yeni sütun ekleme:
İstanbul İstanbul_Değerlendirme
2024-06-15 24.8 Sıcak
2024-06-16 NaN Soğuk
2024-06-17 23.2 Ilık
2024-06-18 20.5 Ilık
2024-06-19 23.6 Ilık
2024-06-20 24.0 Sıcak
2024-06-21 15.4 Ilık
2024-06-22 30.7 Sıcak
2024-06-23 NaN Soğuk
2024-06-24 29.1 Sıcak
İlk Yorumu Siz Yapın