Pandalar Serisinden CSV'ye

Pandalar Serisinden Csv Ye



Pandalar'daki 'Series.to_csv()' yöntemi, belirtilen seri nesnesini virgülle ayrılmış değerler (csv) gösteriminde verir. Bu işlev, bir diziden değerleri alır ve dizin ve sütun değerlerinin ayrılması için virgül ekleyerek formatlarını değiştirir.

Bu işlevi kullanmak için aşağıdaki sözdizimini kullanmalıyız:









Bu makale, bu yöntemi bir python programında kullanmanın yollarını öğrenmek için size iki farklı teknik sağlayacaktır.



Örnek # 1: DatetimeIndex İçeren Bir Diziyi Virgülle Ayrılmış Değerlere Dönüştürmek için Series.to_csv() Yöntemini Kullanma

Bir seriyi CSV formatına dönüştürmek için “Series.to_csv()” fonksiyonunu kullanacağız. Bu çizim, DatetimeIndex içeren bir seri oluşturacak ve ardından onu virgülle ayrılmış değerler biçimine dönüştürecektir.





Bu metodu devreye sokmak için python programlamayı destekleyen bir araca sahip olmamız gerekmektedir. Kodların derlenmesi için “Spyder” aracı tercih edilmiştir. Üzerine script yazmak için öncelikle sistemimizde kurulu olan tool'u çalıştırdık. Python programı, gerekli sonucu elde etmek için yöntemlerini uygulamak için bir kütüphaneye ihtiyaç duyar. Buraya yüklediğimiz kütüphane “Pandalar”dır. Aynı kod satırında bu kütüphanenin takma adı “pd” olarak tanımlanır. Yani, programın neresinde olursa olsun, bir fonksiyona erişmek için “pandalar” yazmamız gerekiyor. Bunun yerine “pd” yazardık.

Kodla başlamanın ilk adımı bir Panda serisi oluşturmaktır. Pandalardan dizi oluşturma yöntemini kullanmak için “pd” yazmamız gerekiyor. Belirtilen değerlerle bir dizi oluşturmak için “pd.Series()” işlevi çağrılır. Dizi için verdiğimiz değerler “İstanbul”, “İzmir”, “Ankara”, “Ankara”, “Antalya”, “Konya” ve “Bursa” dır. Bu değer dizisine bir isim vermek istiyorsanız “name” parametresini kullanarak bunu yapabilirsiniz. Burada 6 şehrin adını taşıdığı için bu değerler dizisine “Şehirler” adını verdik. Bu seriyi saklamak için bir dizi nesnesi “Türkiye” oluşturuldu.



Bir DatetimeIndex oluşturmak için “pd.date_range()” yöntemini çağırdık. Bu fonksiyonun parantezleri arasında “start”, “freq”, “periods” ve “tz” olmak üzere 4 argüman geçtik.

'Başlangıç' bağımsız değişkeni, ondan bir tarih aralığı oluşturmaya başlamak için bir tarih ve saat alır. Burada başlangıç ​​tarih ve saatini “2022-03-02 02:30” olarak belirledik. “Sıklık” parametresi, tarih aralığı için frekansı sınıflandırır. Bu yüzden ona “D” değerini verdik. Artık günlük frekansta bir tarih aralığı oluşturacak. 'Periyot' argümanı '6' olarak ayarlanmıştır, bu da 6 günlük bir tarih aralığı oluşturacağı anlamına gelir. Son parametre, belirtilen alan için saat dilimini belirten “tz” dir. “Asya/İstanbul” için saat dilimini belirledik.

Bu tarih aralığını saklamak için bir “Datetime” değişkeni oluşturduk. DatetimeIndex'i ayarlamak için “Series.index” özelliğini kullandık. “Türkiye” dizisinin adı “.index” özelliği ile sağlanır ve “Datetime” değişkeninde saklanan tarih zaman aralığına atanır. Böylece “index” özelliği “Datetime” değişkeninden değerleri alarak “Turkey” serisinin index listesi haline getirecektir. Son olarak çıktı dizisini görüntülemek için “print()” yöntemini kullandık ve içeriğini görüntülemek için “Türkiye” dizisini girdi olarak geçtik.

Komut dosyasını çalıştırmak için “Dosyayı çalıştır” seçeneğine bastık. Sonuç olarak, DatetimeIndex ile “2022-03-02 02:30:00+03:00” ile başlayan ve “2022-03-07 02:30:00+03:00” ile biten bir dizi görebiliriz. 6 gün. Dizinin altında “Freq :D”, “Cities” dizi listesinin adı ve dtype “object” de belirtilir.

Şimdi yukarıdaki fotoğrafta az önce gördüğümüz bu seriyi CSV formatına çevirmeyi öğreneceğiz. Seriyi virgülle ayrılmış değerlere değiştirmek için pandas modülü tarafından sağlanan “Series.to_csv()” yöntemine sahibiz. Bu yöntem, sağlanan serinin değerlerini alır ve sütun değerlerinin arasına virgül ekler.

“Series.to_csv()” işlevi çağrılır. Dönüştürmek istediğimiz serinin adı “Turkey.to_csv()” metodu ile belirtilmiştir. Virgülle ayrılmış değerleri korumak için “Comma_Separated” değişkenini yarattık ve içeriğini “print()” fonksiyonunu çağırarak çıktı penceresine koyduk.

İşte csv formatındaki dizimiz. İndeks ve seri değerlerinin virgül kullanılarak ayrıldığını anlık görüntüde görebiliriz.

Örnek # 2: NaN Değerleri Olan Bir Diziyi Virgülle Ayrılmış Değerlere Dönüştürmek için Series.to_csv() Yöntemini Kullanma

“Series.to_csv()” yöntemini kullanmanın ikinci tekniği, bazı boş girdileri tutan bir diziyi bir CSV biçimine dönüştürmek için bu yöntemi uygulamaktır.

Başlangıçta gerekli paketleri ithal ettik. 'pd', pandalar için bir takma ad ve 'np', numpy için bir takma ad olarak yapılır. numpy toolkit buraya yüklendi çünkü pandas “pd.Series()” yöntemini kullanarak oluştururken “np.NaN” kullanarak serimize bazı boş girişler yapacağız.

Şu değerlere sahip bir panda serisi oluşturmak için “pd.Series()” işlevi çağrılır: “Nile”, “Amazon”, np.NaN, “Ganges”, “Mississippi”, “np.NaN”, “Yangtze”, “Tuna”, “Mekong”, “np.NaN” ve “Volga”. 3'ü “np.NaN” değerlerini tutan seri için tanımlanmış toplam 21 değer vardır, bu da dizide 3 değerin eksik olduğu anlamına gelir. “Ad” özelliği, “Başlıklar” sağladığımız bu değer dizisinin adını belirtir. Varsayılan listeye gitmek yerine kullanıcı tanımlı dizin listesini ayarlamak için “index” özelliği kullanılır.

Burada “10”, “11”, “12”, “13”, “14”, “16”, “17”, “18”, “19”, “20” değerlerine sahip dizin listesini istiyoruz, ve 21”. Artık dizimiz “0” yerine “10”dan başlayan indeks listesine sahip olacak. Şimdi, bu diziyi programda daha sonra kullanabilmemiz için saklayın. “Rivers” dizi nesnesini başlattık ve “pd.Series()” yönteminin çağrılmasıyla oluşturulan çıktı serisine tahsis ettik. Seri, python tarafından “print()” işlevi kullanılarak ekrana getirilerek görülebilir.

Terminalde işlenen çıktı, dizin listesi 10'dan başlayan ve 21'de biten bir dizi yazdırdı; bu, dizinin 21 değere sahip olduğu anlamına gelir.

Seri, “Series.to_csv()” yöntemi ile CSV formatına dönüştürülecektir.

“Türkiye” serimiz ile “Series.to_csv()” yöntemini devreye soktuk. Dolayısıyla, bu yöntem “Türkiye” dizisinden değerleri alacak ve bunları virgülle ayrılmış değerler formatına dönüştürecektir. Sonuç, “Converted_csv” değişkenine kaydedilir. Ve son olarak, dönüştürülen seri “print()” fonksiyonu yardımıyla yazdırılır.

Aşağıdaki sonucun anlık görüntüsünde, dizi değerlerinin artık virgül kullanılarak dizin listesinden ayrılacak şekilde değiştirildiğini görebilirsiniz. Ayrıca değerlerin eksik olduğu durumlarda virgülle sadece indeks numarası yazdırılır.

Çözüm

Bir panda serisinin CSV formatına dönüştürülmesi pratik bir yaklaşımdır. Bu, pandaların “Series.to_csv()” işlevi kullanılarak gerçekleştirilebilir. Bu kılavuz, bu yöntemi kullanmak için iki tekniği uygulamaya koydu. İlk örnekte, DatetimeIndex içeren bir diziyi virgülle ayrılmış değerler biçimine dönüştürmek için bu yöntemi çağırdık. 2. örnek, bazı eksik girişleri olan bir diziyi CSV biçiminde değiştirmek için 'Series.to_csv()' işlevini kullandı. Her iki teknik de Windows işletim sisteminde “Spyder” aracı kullanılarak pratik olarak uygulanmıştır.