Anasayfa / Büyük Veri / Pandas Dataframe’i MongoDB’ye Yazmak

Pandas Dataframe’i MongoDB’ye Yazmak

Merhabalar bu yazımızda Python Pandas Dataframe verisini Python kullanarak MongoDB’ye yazacağız. MongoDB ile etkileşime geçmek için çok farklı dillere ait driver paketler yazılmış. Bu dillerden birisi de Python. Bu yazımızda Python’ın pymongo kütüphanesini kullanacağız. Bu kütüphane Python diliyle MongoDB’de bir şeyler yapmak isteyenler için yegane çözüm. Bu yazıyı takip etmek için bazı ön koşullarımız olacak.

  • MongoDB kurulu ve 27017 portundan erişilebilir durumdadır. Örneğin, benim MongoDB sunucum docker:27017‘de şuan çalışıyor. Buradaki docker benim sunucuya verdiğim isim. Aslında ip numarası docker-machine ip adresi. Hazırda bir MongoDB’niz yok ise docker ile hızlı bir şekilde kullanıma hazır hale getirebilirsiniz.
  • Python3 yüklü ve çalışır durumdadır.
  • Kullanacağımız modülün adı pymongo. python -m pip install pymongo komutu ile bu modülü yüklemiş olmalısınız.
  • Jupyter kullanabiliyorsunuz.

1. Pandas Dataframe Oluşturma

Basit bir dataframe oluşturalım.

import pandas as pd
artists = [
  { "name": "Filiz AKIN", "address": "Bebek İstanbul"},
  { "name": "Sadri ALIŞIK", "address": "Nişantaşı İstanbul"},
  { "name": "Behzat Ç", "address": "Çankaya Ankara"},
  { "name": "Ayhan IŞIK", "address": "Sultanbeyli İstanbul"},
  { "name": "Cüneyt ARKIN", "address": "Odunpazarı Eskişehir"}
]

df = pd.DataFrame(artists)
df.head()

df.head() sonrası dataframe görünüm:

nameaddress
0Filiz AKINBebek İstanbul
1Sadri ALIŞIKNişantaşı İstanbul
2Behzat ÇÇankaya Ankara
3Ayhan IŞIKSultanbeyli İstanbul
4Cüneyt ARKINOdunpazarı Eskişehir

MongoDB json dosya formatı ile çalıştığından pandas dataframe’i json formatına çevirelim.

# pandas dataframe'i json formatına çevir
import json
records = json.loads(df.T.to_json()).values()

2. MongoDB Veri Tabanı ve Collection Oluşturma

pymongo kütüphanesi ile rahatlıkla veri tabanı oluşturup collection yaratabiliriz. Collection kavramı yabancı geldiyse onu ilişkisel veri tabanlarındaki tablo gibi düşünebilirsiniz.

Mongodb bağlantısı:

import pymongo

# mongodb bağlantı
myclient = pymongo.MongoClient("mongodb://docker:27017")

Veri tabanı oluşturma. Varsa seçer, yoksa oluşturur.

# bir veri tabanı seç veya yoksa oluştur.
# Not: İçine bir şey konulmadıkça mongodb'de veri tabanı gerçekten oluşmaz.
db = myclient["mydatabase"]

Collection oluşturma:

# Bir collection oluştur.
my_collection = db["artists"]

Yukarıda dataframe’den json’a çevirdiğimiz sanatçıları şimdi MongoDB’ye yazalım.

#json formatına çevrilen dataframe'i mongodb'ye yaz
x = my_collection.insert_many(records)

Kontrol yapalım ve ilk kaydı (document) görelim.

y = my_collection.find_one()
print(y)

Sonuç:

{'_id': ObjectId('5da078ce688e42fcb888bd9d'), 'name': 'Filiz AKIN', 'address': 'Bebek İstanbul'}

İşte bu kadar. Bu yazımızda hızlı bir şekilde pandas dataframe’i MongoDB’ye Python kullanarak nasıl yazacağımızı gördük. Başka bir yazıda buluşmak dileğiyle hoşçakalın…

Hakkında Erkan ŞİRİN

2014'ten beri hem akademik alanda hem de sektörde pratik anlamda büyük veri ve veri bilimi ile ilgili çalışmalar yürütmektedir. Halihazırda İmpektra Bilişim A.Ş.'de büyük veri yöneticisi olarak çalışmakta olup aynı zamanda Gazi Üniversitesi Yönetim Bilişim Sistemleri doktora öğrencisidir. Büyük veri ve veri bilimi ile ilgili birçok kurum ve şirkete eğitimler vermekte ve projeler icra etmektedir. Çalışma alanları: büyük veri platformlarının kurulum ve yönetimi, büyük veri üzerinde makine öğrenmesi, olağan dışılık tespiti, sahtecilik tespiti, veri hazırlama sürecidir.

GÖZ ATMAK İSTEYEBİLİRSİNİZ

sahte-haberlerin-belirlenmesi

Sahte Haberlerin Belirlenmesi

“A lie gets halfway around the world before the truth has a chance to get …

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir