Analizi daha etkili hale getirmek için 12 harika Pandas ve NumPy işlevi

Tam metin 5431 Kelimeler, tahmini öğrenme süresi 16 dakika

Kaynak: Pexels

Pandaların ve NumPy işlevlerinin harika olduğunu herkes bilir ve günlük analizde önemli bir rol oynarlar. Bu iki işlev olmadan, insanlar bu devasa veri analizi ve bilim dünyasında yollarını kaybedecekler.

Bugün Xiaoxin, 12 harika Pandas ve NumPy işlevini paylaşacak.Bu işlevler hayatı daha kolay hale getirecek ve analizi daha etkili hale getirecek.

Bu makalenin sonunda okuyucular, makalede bahsedilen kodun JupyterNotebook'unu bulabilirler.

NumPy'den başlayarak:

NumPy, Python kullanarak bilimsel hesaplama için temel bir yazılım paketidir. Aşağıdakileri içerir:

· Güçlü N boyutlu dizi nesnesi

· Karmaşık (yayın) işlevler

· Entegre C / C ++ ve Fortran kod araçları

· Kullanışlı doğrusal cebir, Fourier dönüşümü ve rastgele sayı fonksiyonları

Açık bilimsel kullanımlara ek olarak NumPy, herhangi bir veri türünü tanımlayabilen genel veriler için verimli, çok boyutlu bir kaptır. Bu, NumPy'nin çeşitli veritabanları ile sorunsuz ve yüksek hızda entegre olmasını sağlar.

1. allclose ()

Allclose (), iki diziyi eşleştirmek ve bunları Boolean değerleri olarak çıkarmak için kullanılır. İki dizinin öğeleri tolerans aralığı içinde eşit değilse, False döndürülür. Bu, iki dizinin benzer olup olmadığını kontrol etmenin iyi bir yoludur, çünkü bunu manuel olarak uygulamak aslında zordur.

dizi1 = np.array () dizi2 = np.array () # 0,1 toleransla, False döndürmelidir: np.allclose (dizi1, dizi2,0.1) 0.2'lik bir toleransla False #, True döndürmelidir: np.allclose (dizi1, dizi2,0.2) Doğru

2. argpartition ()

Kaynak: Pexels

NumPy'nin bu işlevi çok iyidir, N maksimum indeksini bulabilirsiniz. N maksimum dizinin çıktısını alın ve ardından değerleri gerektiği gibi sıralayın.

x = np.array () index_val = np.argpartition (x, -4) index_val dizi (, dtype = int64) np.sort (x) dizi()

3. klip ()

Clip (), değeri bir aralık dizisinde tutmak için kullanılır. Bazen değeri üst ve alt sınırlar arasında tutmak gerekir. Bu nedenle NumPy'nin clip () işlevini kullanabilirsiniz. Bir aralık verildiğinde, aralığın dışındaki tüm değerler aralığın kenarına kırpılacaktır.

x = np.array () np.clip (x, 2,5) dizi()

4. özüt ()

Adından da anlaşılacağı gibi, extract () işlevi, belirli koşullara dayalı olarak bir diziden belirli öğeleri çıkarmak için kullanılır. Bu işlevle ayrıca ve ve veya gibi ifadeler de kullanabilirsiniz.

# Rastgele tam sayılar dizi = np.random.randint (20, boyut = 12) dizi array () # 2'ye bölün ve ifremainder'ın 1 olup olmadığını kontrol edin koşul = np.mod (dizi, 2) == 1 koşul array () # Değerleri almak için ekstrakt kullanın np.extract (koşul, dizi) array () # Koşulları doğrudan ayıklamaya uygula np.extract (((dizi < 3) | (dizi > 15)), dizi) dizi ()

5. yüzdebirlik ()

Percentile (), belirtilen eksen boyunca dizi elemanlarının n inci yüzdelik dilimini hesaplamak için kullanılır.

a = np.array () print ("a'nın 50. Yüzde birlik kısmı, eksen = 0:", np. yüzdelik (a, 50, eksen = 0)) A'nın 50. Yüzdelik Dilimi, eksen = 0: 6.0b = np.array () print ("b'nin 30. Yüzdelik Dilimi, eksen = 0:", np. yüzdelik (b, 30, eksen = 0)) B'nin 30. Yüzdelik Dilimi, eksen = 0:

6. nerede ()

Kaynak: Pexels

Where (), belirli koşulları karşılayan bir diziden öğeler döndürmek için kullanılır. Belirli koşullar altında değerin dizin konumunu döndürür. Bu neredeyse SQL'de kullanılan where ifadesine benzer. Lütfen aşağıdaki örnekteki demoya bakın.

y = np.array () # y'nin 5'ten büyük olduğu yerde, dizin konumunu döndürür np.where (y > 5) array (, dtype = int64),) # Önce koşulla eşleşen değerleri değiştirir, # saniye, geçmeyen değerleri değiştirir np.where (y > 5, "Hit", "Bayan") dizi (, dtype = ' < U4 ')

O halde büyülü Pandalar işlevi hakkında konuşalım.

Pandalar

Pandas, işlem yapılı (tablo, çok boyutlu, potansiyel olarak heterojen) verileri ve zaman serisi verilerini basit ve sezgisel hale getirmek için tasarlanmış, hızlı, esnek ve etkileyici veri yapıları sağlayan bir Python yazılım paketidir.

Pandalar, birçok farklı veri türü için çok uygundur:

· SQL tabloları veya Excel hesap tabloları gibi heterojen sütunlara sahip tablo verileri

· Sıralı ve düzensiz (sabit frekans olması gerekmez) zaman serisi verileri.

Satır ve sütun etiketleriyle rastgele matris verileri (aynı tür veya heterojen)

· Diğer her türlü gözlem / istatistiksel veri seti. Aslında veriler Pandas veri yapısına hiç işaretlenmeden konulabilir.

Aşağıdakiler Pandaların avantajlarıdır:

· Kayan nokta verilerinde ve kayan nokta olmayan verilerde (NaN olarak ifade edilir) eksik verileri kolayca işleyin

· Boyut değişkenliği: DataFrame ve daha yüksek boyutlu nesnelerden sütun ekleyebilir ve silebilirsiniz

· Otomatik ve açık veri hizalama: Hesaplamada, nesne açıkça bir dizi etikete hizalanabilir veya kullanıcı etiketi doğrudan görmezden gelebilir ve Series, DataFrame vb. Verileri otomatik olarak hizalayabilir.

· Verileri özetlemek ve dönüştürmek için veri kümeleri üzerinde bölünmüş-uygulama-birleştirme işlemleri gerçekleştirebilen güçlü ve esnek gruplama işlevi

· Diğer Python ve NumPy veri yapılarındaki düzensiz ve dizinlenmiş verileri kolayca DataFrame nesnelerine dönüştürün

Akıllı etiket dilimleme, gelişmiş indeksleme ve büyük veri setlerinin alt kümeleme

Veri kümelerini sezgisel olarak birleştirin ve birleştirin

Veri kümelerinin esnek şekilde yeniden şekillendirilmesi ve döndürülmesi

· Eksen için hiyerarşik etiketler (her ölçekte birden fazla etiket olabilir)

Düz dosyalardan (CSV ve sınırlandırılmış dosyalar), Excel dosyalarından, veritabanlarından veri yüklemek ve ultra yüksek hızlı HDF5 formatında veri kaydetmek / yüklemek için güçlü IO araçları

· Zaman serisine özgü işlevler: tarih aralığı oluşturma ve sıklık dönüştürme, hareketli pencere istatistikleri, tarih kaydırma ve gecikme.

1. uygula ()

Uygula () işlevi, kullanıcının bir işlevi iletmesine ve bunu Pandalar dizisindeki her bir değere uygulamasına olanak tanır.

# max eksi karışım lambda fn fn = lambda x: x.max () - x.min () # Bunu yukarıda oluşturduğumuz dframe'e uygula dframe.apply (fn)

2. kopyala ()

Copy () işlevi, Pandas nesnesinin bir kopyasını oluşturmak için kullanılır. Bir veri çerçevesi başka bir veri çerçevesine atandığında ve değer başka bir veri çerçevesinde değiştirildiğinde, değeri de eşzamanlı olarak değiştirilecektir. Yukarıdaki sorunları önlemek için copy () işlevini kullanabilirsiniz.

# örnek seri oluşturma data = pd.Series () # Karşılaştığımız sorunu atama data1 = veri # Bir değeri değiştir data1 = 'ABD' # Eski veri çerçevesindeki değeri de değiştirir data # Bunu önlemek için kullanıyoruz # serinin kopyasını oluşturma new = data.copy () # yeni değerler atama new = 'Değer değiştirildi' # yazdırma verisi baskı (yeni) baskı (veri)

3. read_csv (nrows = n)

Kaynak: Pexels

Okuyucular, read-csv işlevinin önemini zaten biliyor olabilirler. Ancak gereksiz olsa bile çoğu kişi .csv dosyasının tamamını yanlışlıkla okuyacaktır. 10 GB'lık bir .csv dosyasındaki sütunların ve verilerin bilinmediğini varsayarsak, bu durumda .csv dosyasının tamamını okumak akıllıca bir karar değildir, çünkü bu, belleği ve zamanı boşa harcar. .Csv'den birkaç satırı içe aktarabilir ve gerektiğinde devam edebilirsiniz.

io içe aktar içe aktarma istekleri # Bu çevrimiçi veri kümesini yalnızca sizin için işleri kolaylaştırmak için kullanıyorum url = "https://raw.github.com/vincentarelbundock/Rdatasets/master/csv/datasets/AirPassengers.csv" s = request.get (url) .content # sadece ilk 10 satırı oku df = pd.read_csv (io.StringIO (s.decode ('utf-8')), nrows = 10, index_col = 0)

4. harita ()

Map () işlevi, Serinin değerini girdi yazışmalarına göre eşlemek için kullanılır. Bir dizideki her bir değeri, bir işlev, sözlük veya diziden türetilebilecek başka bir değerle değiştirmek için kullanılır.

# bir veri çerçevesi oluşturun dframe = pd.DataFrame (np.random.randn (4, 3), column = list ('bde'), index =) # çerçevedeki her kayan nokta değerinden biçimlendirilmiş bir dize hesaplayın changefn = lambda x: '%. 2f'% x # Değişiklikleri eleman bazında yap dframe.map (changefn)

5. isin ()

Isin () işlevi, veri çerçevelerini filtrelemek için kullanılır. Isin (), belirli sütunlarda belirli (veya birden çok) değer içeren satırların seçilmesine yardımcı olur. Bu gördüğüm en kullanışlı özellik.

# Read_csv için oluşturduğumuz veri çerçevesini kullanarak filtre1 = df.isin () filtre2 = df.isin () df

6. select_dtypes ()

Select_dtypes () işlevi, dtypes sütununa dayalı olarak veri çerçevesinin sütunlarının bir alt kümesini döndürür. Bu işlevin parametrelerini belirli veri türlerine sahip tüm sütunları içerecek şekilde ayarlayın; bunları belirli veri türlerine sahip tüm sütunları hariç tutacak şekilde de ayarlayabilirsiniz.

# Read_csv için kullandığımız aynı veri çerçevesini kullanacağız framex = df.select_dtypes (include = "float64") # Yalnızca zaman sütununu döndürür

refah:

Kaynak: Pexels

Pivot tablo()

Pandaların en şaşırtıcı ve kullanışlı işlevi pivot_table. Groupby kullanıp kullanmayacağınıza karıştıysanız ve işlevselliğini genişletmek istiyorsanız, pivot tabloyu da deneyebilirsiniz. Pivot tablonun excel'de nasıl çalıştığını anlarsanız, her şey çok basittir. Pivot tablodaki düzey, MultiIndex nesnesinde (hiyerarşik dizin) depolanır ve nesne, DataFrame sonucunun dizininde ve sütununda yer alır.

# Örnek bir veri çerçevesi oluşturun okul = pd.DataFrame ({'A' :, 'B' :, 'C':}) # Öğrencileri yaşa ve kursa göre ayırmak için bir pivot tablo oluşturalım tablo = pd.pivot_table (okul, değerler = 'A', dizin =, column =, aggfunc = np.sum, fill_value = "Kullanılamaz") masa

Yorum Beğen Takip Et

Yapay zeka öğrenme ve geliştirmenin kuru mallarını paylaşalım

Yeniden yazdırıyorsanız, lütfen arka planda bir mesaj bırakın ve yeniden yazdırma şartnamelerine uyun

İnternette para kazanmanın düşündüğünüzden daha kolay olmasının nedenleri-onları öldüren birini söylememek için 2 ipucu
önceki
Bugün Core Voice | Li Guoqing: Luo Yonghao'dan daha çekiciyim ama asla canlı yayın yapmayacağım
Sonraki
Angular ile RxJS aboneliklerini nasıl daha iyi yöneteceğinizi öğretin
Vazgeçilmez! Ön uç geliştirme için 6 temel araç
Nasıl popüler olunur? Her takımın istediği bu tür bir geliştirici
İPod kullanmakta neden ısrar ediyorsunuz? Müziğin keyfini çıkarmanın daha iyi bir yolu yok
Angular yazılımında API isteklerini yürütmenin doğru yolu hakkında bilgi edinin
Google'ın resmi duyurusu! TensorFlow Developer Certification Sınavı burada
Veri mühendisliğine: toplu işlemeden akış işlemeye
Bugün Çekirdek Ses | Tencent İzleme Noktası Ortak Polisi, Büyük Çetelerle Savaşmak için Yapay Zekayı Kullanın
Bu Pandalar demo ipuçları, birbirinizi geç görmelisiniz ...
Dünyaya başka bir açıdan bakın! Matematiksel sembolleri anlamak için kodu kullanın
Az ile daha fazlasını yapın! Bu 5 React uygulama kitaplığını kaçırmayın ...
2020'nin En İyileri: En pratik makine öğrenimi araçları nelerdir?
To Top