Python
Python hakkında birçok soruya yanıt olarak hazırlanan makaleler ve kod örnekleri
Python hakkında birçok soruya yanıt olarak hazırlanan makaleler ve kod örnekleri
Python-snap7, Siemens S7 PLC'ler (Programlanabilir Mantık Denetleyicileri) ile arayüz oluşturmak için bir iletişim kitaplığı olan snap7 kitaplığı için bir Python paketleyicisidir. Siemens S7 iletişim protokolünü kullanarak bir ağ üzerinden PLC ile veri okumanıza/PLC'den veri yazmanıza ve onunla iletişim kurmanıza olanak tanır. Kütüphane, bir Python uygulaması ile PLC arasında veri alışverişi için işlevler sağlayarak PLC'yi otomasyon sistemlerine entegre etmeyi mümkün kılar. Python-snap7 kütüphanesi hakkında ve bağlantı kurma kodu hakkında bir örnek sunuyorum: import snap7 plc = snap7.client.Client() plc.connect('192.168.1.1', 0, 1) if plc.get_connected(): print("PLC'ye başarıyla bağlandı.") else: print("PLC'ye bağlantı başarısız.") plc.disconnect() Bu örnekte, snap7 kütüphanesinin Client nesnesi oluşturulur ve connect yöntemi ile IP adresi 192.168.1.1, rack 0 ve slot 1 olan PLC'ye bağlantı kurulur. Bağlantı durumunu kontrol etmek için get_connected yöntemi kullanılır ve bağlantı başarılıysa, PLC'ye başarıyla bağlandı mesajı yazdırılır. Son olarak, disconnect yöntemi ile bağlantı kapatılır. Bu sadece temel bir örnektir ve PLC'nin belirli bilgilerine (örneğin IP adresi, rack ve slot) sahip olmanız ve veri okuma / yazma işlemleri için ek kod gerekir. Python-snap7 kütüphanesi farklı veri türlerine (örneğin bit, byte, word, integer, float, vb.) ve farklı veri yapılarına (örneğin DB, input, output) erişmek için birçok fonksiyon sunar. Python-snap7 ile veri okuma ve yazma işlemi [[reklam]] import snap7 plc = snap7.client.Client() plc.connect('192.168.1.1', 0, 1) if plc.get_connected(): # Read a Boolean value from the PLC's input area input_byte = plc.read_area(snap7.types.areas.MK, 0, 0, 1) input_bool = snap7.util.get_bool(input_byte, 0, 0) print("Read input value:", input_bool) # Write a Boolean value to the PLC's output area output_byte = snap7.util.build_byte(output_bool, 0) plc.write_area(snap7.types.areas.PK, 0, 0, output_byte) print("Wrote output value:", output_bool) else: print("Connection to PLC failed.") plc.disconnect() Bu örnekte, read_area yöntemi ile PLC'nin girdi bölgesinden bir Boolean değeri okunur ve get_bool fonksiyonu ile değerin doğru şekilde okunup okunmadığı kontrol edilir. Daha sonra, write_area yöntemi ile PLC'nin çıkış bölgesine bir Boolean değeri yazılır. Not: MK ve PK değerleri örnek olarak verilmiştir ve bu değerlerin PLC'ninizdeki adreslere uygun olması gerekir. Aynı şekilde, 0, 0, ve 1 değerleri de örnek verilmiştir ve bu değerlerin PLC'ninizdeki verilere uygun olması gerekir.
Python pandas, veri manipülasyonu ve veri analizi için kullanılan güçlü bir kütüphanedir. Pandas, veri analizi ve işleme süreçlerini kolaylaştırmak için yüksek performanslı, kullanıcı dostu veri yapıları ve veri analiz araçları sağlar. Pandas, özellikle tablo verileriyle çalışırken kullanışlıdır. Klasik olarak "DataFrame" olarak adlandırılan iki boyutlu etiketli veri yapıları üzerinde çalışır. DataFrame'ler, farklı türlerdeki verileri sıralı ve hızlı bir şekilde işlemek için birçok işlev ve yöntem sağlar. Pandas'ın ana kullanım alanları şunlardır: Veri Yükleme ve Saklama: Pandas, CSV dosyaları, Excel dosyaları, veritabanları ve diğer formatlardaki verileri yüklemek ve saklamak için kullanılabilir. Verileri DataFrame'lerde düzenlemek ve analiz etmek için kullanışlı bir yapı sağlar. Veri Manipülasyonu: Pandas, verileri filtreleme, sıralama, gruplama, birleştirme, dönüştürme ve dönüştürme gibi çeşitli yöntemlerle kolayca manipüle etmeyi sağlar. Veri setlerini yeniden şekillendirmek ve dönüştürmek için kullanışlıdır. Veri Analizi ve Keşifsel Veri Madenciliği: Pandas, veri analizi işlemlerinde yaygın olarak kullanılan istatistiksel işlevleri, zaman serisi analizi yöntemlerini ve keşifsel veri madenciliği tekniklerini destekler. Veri setleri üzerinde istatistiksel hesaplamalar yapmak, eksik verileri ele almak, veri görselleştirmeleri oluşturmak ve daha fazlası için kullanılabilir. Veri Görselleştirme: Pandas, verilerinizi kolayca grafiklerle görselleştirmek için matplotlib gibi diğer veri görselleştirme kütüphaneleriyle entegre çalışır. Bu, verilerinizdeki eğilimleri, dağılımları, ilişkileri ve desenleri daha iyi anlamanıza yardımcı olur. Pandas, veri analisti, veri bilimcisi ve veri mühendisleri tarafından yaygın olarak kullanılan bir kütüphanedir. Veri manipülasyonu, temizleme, dönüştürme ve analiz gibi birçok veri işleme görevini daha kolay ve verimli hale getirmek için kullanılabilir.
read_csv: CSV dosyasını okur ve DataFrame'e dönüştürür. read_excel: Excel dosyasını okur ve DataFrame'e dönüştürür. head: DataFrame'in ilk n satırını döndürür. tail: DataFrame'in son n satırını döndürür. info: DataFrame'in hakkında bilgi verir (sütunlar, veri tipleri, bellek kullanımı vb.). describe: DataFrame'in temel istatistiksel bilgilerini gösterir (count, mean, min, max, vb.). shape: DataFrame'in boyutunu (satır ve sütun sayısı) döndürür. columns: DataFrame'in sütunlarını döndürür. index: DataFrame'in indeksini döndürür. loc: Etiket tabanlı indeksleme yapar. iloc: Konum tabanlı indeksleme yapar. drop: Belirtilen sütunları veya satırları içeren yeni bir DataFrame döndürür. fillna: NaN değerlerini belirli bir değerle doldurur. drop_duplicates: Tekrarlanan satırları kaldırır. groupby: Belirli bir sütuna göre gruplama yapar. merge: İki DataFrame'i birleştirir. concat: Birden çok DataFrame'i birleştirir. sort_values: Belirli bir sütuna göre DataFrame'i sıralar. pivot_table: Pivot tablosu oluşturur. apply: Belirli bir işlevi DataFrame'e uygular. map: Sözlük veya işlev kullanarak sütun değerlerini dönüştürür. replace: Belirli değerleri başka bir değerle değiştirir. sum: Sütunların veya satırların toplamını hesaplar. mean: Sütunların veya satırların ortalamasını hesaplar. median: Sütunların veya satırların medyanını hesaplar. min: Sütunların veya satırların minimum değerini hesaplar. max: Sütunların veya satırların maksimum değerini hesaplar. std: Sütunların veya satırların standart sapmasını hesaplar. var: Sütunların veya satırların varyansını hesaplar. count: Sütunlardaki veya satırlardaki değerlerin sayısını hesaplar. nunique: Sütundaki benzersiz değerlerin sayısını hesaplar. value_counts: Sütundaki benzersiz değerlerin sayısını gösterir. duplicated: Tekrarlanan satırları belirtir. corr: Sütunlar arasındaki korelasyonu hesaplar. plot: Verileri grafik olarak görselleştirir. hist: Sütunun histogramını çizer. boxplot: Sütunun kutu grafiğini çizer. scatter: İki sütunu saçılım grafiği olarak çizer. heatmap: Sütunlar arasındaki ilişkiyi renklendirilmiş bir matris olarak gösterir. cut: Değerleri belirli aralıklara böler. qcut: Değerleri belirli aralıklara böler (eşit frekanslı). cumsum: Sütun veya satırdaki değerlerin kümülatif toplamını hesaplar. cumprod: Sütun veya satırdaki değerlerin kümülatif çarpımını hesaplar. shift: Sütun veya satırdaki değerleri belirli bir sayıda kaydırır. diff: Sütun veya satırdaki değerler arasındaki farkı hesaplar. resample: Zaman serilerini yeniden örnekleme yapar. rolling: Hareketli pencere hesaplamaları yapar. to_datetime: Tarih ve saat verilerini dönüştürür. to_csv: DataFrame'i CSV dosyası olarak kaydeder. to_excel: DataFrame'i Excel dosyası olarak kaydeder. Bu listedeki fonksiyonlar, pandas'ın geniş bir işlev yelpazesini temsil etmektedir, ancak bunlarla sınırlı değildir. Pandas, daha pek çok işlevi içeren zengin bir kütüphanedir.
Pandas kütüphanesindeki read_csv fonksiyonu, CSV (Virgülle Ayrılmış Değer) formatında veri dosyalarını okumak için kullanılır. Bu fonksiyon, veriyi bir DataFrame nesnesine yükler ve daha sonra bu veriyi işlemek ve analiz etmek için çeşitli yöntemler sunar.import pandas as pd df = pd.read_csv('veri.csv') print(df)
Pandas kütüphanesindeki head fonksiyonu, DataFrame'in ilk n satırını döndürür. Varsayılan olarak, n değeri 5'tir, ancak isteğe bağlı olarak farklı bir değer belirtilebilir. import pandas as pd df = pd.read_csv('data.csv') # DataFrame'in ilk 3 satırını al ilk_uc_satir = df.head(3) print(ilk_uc_satir)
Pandas kütüphanesindeki tail fonksiyonu, DataFrame'in son n satırını döndürür. Varsayılan olarak, n değeri 5'tir, ancak isteğe bağlı olarak farklı bir değer belirtilebilir. import pandas as pd df = pd.read_csv('data.csv') # DataFrame'in son 3 satırını al son_uc_satir = df.tail(3) print(son_uc_satir)
Pandas kütüphanesindeki info fonksiyonu, DataFrame hakkında ayrıntılı bir özet bilgi sağlar. Bu fonksiyon, DataFrame'in sütunlarının adlarını, veri tiplerini ve bellek kullanımını gösterir. Ayrıca, DataFrame'in dolu olmayan değerlerini ve bellek kullanımını da raporlar. import pandas as pd df = pd.read_csv('data.csv') # DataFrame hakkında bilgi al df.info()
Pandas kütüphanesindeki describe fonksiyonu, DataFrame'in sayısal sütunlarına ilişkin istatistiksel bir özet sağlar. Bu fonksiyon, sütun sayısını, ortalama, standart sapma, minimum değer, çeyreklik değerleri ve maksimum değer gibi istatistiksel bilgileri gösterir. import pandas as pd df = pd.read_csv('data.csv') # DataFrame'in istatistiksel özetini al istatistiksel_ozet = df.describe() print(istatistiksel_ozet)
Pandas kütüphanesindeki dropna fonksiyonu, DataFrame'den eksik değerlere sahip satırları veya sütunları kaldırmak için kullanılır. Bu fonksiyon, eksik değerlere sahip verileri temizlemek veya eksik değerlere göre işlem yapmak için sıklıkla kullanılır. import pandas as pd df = pd.read_csv('data.csv') # Eksik değerlere sahip satırları kaldır temizlenmis_df = df.dropna() print(temizlenmis_df)
Pandas kütüphanesindeki fillna fonksiyonu, DataFrame'deki eksik değerleri belirli bir değer veya yöntemle doldurmak için kullanılır. Bu fonksiyon, eksik değerleri ortalamayla, medyanla, en son değerle veya belirli bir değerle doldurma gibi farklı stratejiler sunar.import pandas as pd # Eksik değerleri belirli bir değerle doldur df_doldurulmus = df.fillna(0) print(df_doldurulmus)
Pandas kütüphanesindeki groupby fonksiyonu, DataFrame'deki verileri belirli bir sütuna göre gruplamak için kullanılır. Bu fonksiyon, veri setindeki gruplarla ilgili işlemler yapmak ve özet istatistikler üretmek için kullanışlıdır.import pandas as pd # 'kategori' sütununa göre verileri grupla gruplanmis_df = df.groupby('kategori').sum() print(gruplanmis_df)
Pandas kütüphanesindeki merge fonksiyonu, iki veya daha fazla DataFrame'i birleştirmek için kullanılır. Bu fonksiyon, ortak sütunlara veya indekslere göre birleştirme işlemleri yapmak için kullanılır ve verileri birleştirerek yeni bir DataFrame oluşturur.import pandas as pd # İki DataFrame'i birleştir birlesmis_df = pd.merge(df1, df2, on='ortak_sutun') print(birlesmis_df)
Pandas kütüphanesindeki sort_values fonksiyonu, DataFrame'i belirli bir sütuna veya birden fazla sütuna göre sıralamak için kullanılır. Bu fonksiyon, verileri artan veya azalan sırayla düzenlemek için kullanılabilir.import pandas as pd # 'sütun' sütununa göre DataFrame'i sırala siralanan_df = df.sort_values('sütun') print(siralanan_df)
Pandas kütüphanesindeki rename fonksiyonu, DataFrame'in sütunlarının veya indekslerinin adlarını değiştirmek için kullanılır. Bu fonksiyon, belirli bir sütunun veya indeksin adını değiştirmek veya tüm sütunların veya indekslerin adlarını yeniden adlandırmak için kullanılabilir.import pandas as pd # 'eski_ad' sütununun adını 'yeni_ad' olarak değiştir df.rename(columns={'eski_ad': 'yeni_ad'}, inplace=True) print(df)
Pandas kütüphanesindeki pivot_table fonksiyonu, DataFrame üzerinde bir özet tablo oluşturmak için kullanılır. Bu fonksiyon, bir veya daha fazla sütuna göre veriyi gruplandırır ve özet istatistiklerin hesaplanmasıyla sonuçları tablo halinde sunar.import pandas as pd # 'sütun1' ve 'sütun2' sütunlarına göre özet tabloyu oluştur ozet_tablo = df.pivot_table(values='değer', index='sütun1', columns='sütun2', aggfunc='mean') print(ozet_tablo)
Pandas kütüphanesindeki to_csv fonksiyonu, DataFrame'i CSV dosyası olarak kaydetmek için kullanılır. Bu fonksiyon, DataFrame'i bir dosyaya yazmak ve verileri CSV formatında dışa aktarmak için kullanılabilir.import pandas as pd # DataFrame'i 'veriler.csv' adlı dosyaya kaydet df.to_csv('veriler.csv', index=False)