Kaynak: Know-how
Bu makale var 1300 kelime , Okumanız tavsiye edilir 5 dakika.
Bu makalede tanıtılan veri analizi yöntemi yalnızca işletim verimliliğini artırmakla kalmaz, aynı zamanda kodu daha "güzel" hale getirir.
İster bir Kaggle yarışmasına katılıyor olun, ister bir derin öğrenme uygulaması geliştiriyor olun, ilk adım her zaman veri analizidir. Bu makale, Python kullanarak veri analizi için yalnızca işletim verimliliğini artırmakla kalmayıp aynı zamanda kodu daha "güzel" hale getirebilen 8 yöntem sunar. .
Bir, bir satır kod Listeyi tanımlar
Belirli bir listeyi tanımlarken, bir For döngüsü yazmak çok zahmetlidir.Neyse ki, Python bu sorunu tek bir kod satırında çözmek için yerleşik bir yönteme sahiptir:
Aşağıda, For döngüsüyle bir liste oluşturmanın ve bir satır kod içeren bir liste oluşturmanın karşılaştırması verilmiştir:
x =
out =
x içindeki öğe için:
out.append (öğe ** 2)
çıktı)
# vs.
x =
out =
çıktı)
İki, Lambda ifadesi
Birkaç kez kullanamayacağınız işlevleri tanımlamaktan bıktınız mı? Lambda ifadeleri kurtarıcınızdır! Lambda ifadeleri, Python'da küçük, tek seferlik ve anonim işlev nesneleri oluşturmak için kullanılır. Sizin için bir işlev oluşturabilir.
Lambda ifadelerinin temel sözdizimi şöyledir:
lambda bağımsız değişkenleri: ifade
Bir lambda ifadesi olduğu sürece, normal bir işlevin gerçekleştirebileceği herhangi bir işlemi tamamlayabileceğinizi unutmayın. Lambda ifadelerinin gücünü aşağıdaki örneklerden deneyimleyebilirsiniz:
çift = lambda x: x * 2
baskı (çift (5))
10
Üç, Harita ve Fiter
Lambda ifadelerinde ustalaştıktan sonra, daha güçlü işlevler elde etmek için bunları Harita ve Filtre işlevleriyle kullanmayı öğrenin.
Özellikle, harita listedeki her öğe üzerinde bazı işlemler gerçekleştirir ve bunu yeni bir listeye dönüştürür. Bu durumda, her bir öğeyi yineler ve yeni bir liste oluşturmak için onu 2 ile çarpar. Lütfen list () işlevinin çıktıyı bir liste türüne dönüştürdüğüne dikkat edin.
# Harita
seq =
sonuç = liste (harita (lambda var: var * 2, seq))
baskı (sonuç)
Filtre işlevi tıpkı bir harita gibi bir liste ve bir kuralı kabul eder, ancak her bir öğeyi Boolean filtre kuralıyla karşılaştırarak orijinal listenin bir alt kümesini döndürür.
# Filtre
seq =
sonuç = liste (filtre (lambda x: x > 2, seq))
baskı (sonuç)
Dört, Arange ve Linspace
Arange, belirli bir adım için aritmetik sapmaların bir listesini döndürür. Başlangıç, bitiş ve adım üç parametresi sırasıyla başlangıç değerini, bitiş değerini ve adım uzunluğunu temsil eder. Lütfen durma noktasının bir "kesme" değeri olduğunu ve bu nedenle dizi çıktısına dahil edilmeyeceğini unutmayın.
# np.arange (başlat, durdur, adım)
np.arange (3, 7, 2)
dizi()
Linspace ve Arrange çok benzer, ancak biraz farklı. Linspace, aralığı belirtilen sayıya eşit olarak böler. Dolayısıyla, aralık başlangıcı ve bitişi ve eşit bölme noktalarının sayısı num verildiğinde, linspace bir NumPy dizisi döndürür. Bu, özellikle verileri görselleştirmek ve çizim sırasında koordinat eksenlerini bildirmek için kullanışlıdır.
# np.linspace (başlat, durdur, sayı)
np.linspace (2.0, 3.0, num = 5)
dizi ()
5. Axis ne anlama geliyor?
Pandalarda, bir sütunu silerken veya bir NumPy matrisindeki değerleri toplarken Eksen ile karşılaşabilirsiniz. Bir sütunu (satırı) silme örneğini kullanıyoruz:
df.drop ('Sütun A', eksen = 1)
df.drop ('Satır A', eksen = 0)
Sütunları işlemek istiyorsanız, Eksen'i 1'e ayarlayın, satırları işlemek istiyorsanız, 0'a ayarlayın. Ama neden? Pandalar'daki şekli hatırlayın
df.shape
(Satır Sayısı, Sütun Sayısı)
Bir Pandas DataFrame'den şekil özelliğini çağırmak bir demet döndürür. İlk değer satır sayısını ve ikinci değer sütun sayısını temsil eder. Python'da indekslemek isterseniz, satır sayısı 0, sütun sayısı ise 1 olarak belirtilir, bu da eksen değerlerini nasıl açıkladığımıza çok benzer.
6. Concat, Birleştir ve Birleştir
SQL'e aşina iseniz, bu kavramlar sizin için daha kolay olabilir. Her durumda, bu işlevler esasen DataFrame'i belirli bir şekilde birleştirmenin yollarıdır. Hangisinin hangi zamanda kullanılmasının en iyi olduğunu izlemek zor olabilir, o yüzden gözden geçirelim.
Concat, kullanıcıların tablonun altına veya yanına bir veya daha fazla DataFrame eklemesine olanak tanır (ekseni nasıl tanımladığınıza bağlı olarak):
Birleştirme, birden çok DataFrame satırını belirtilen aynı birincil anahtarla (Anahtar) birleştirir:
Join, Merge gibi, iki DataFrame'i birleştirir. Ancak belirtilen bir birincil anahtara göre birleşmez, ancak aynı sütun adına veya satır adına göre birleşir:
Yedi, Pandalar Uygula
Uygula Pandas Serisi için tasarlanmıştır. Seriye aşina değilseniz, onu Numpy benzeri bir dizi olarak düşünebilirsiniz.
Uygula, belirtilen eksendeki her öğeye bir işlev uygular. Uygula'yı kullanarak, bir DataFrame sütununun (bir Seri olan) değerini döngü yapmadan biçimlendirebilir ve değiştirebilirsiniz, bu çok kullanışlıdır!
df = pd.DataFrame (* 3, sütunlar =)
df
A B
04 9
14 9
24 9
df.apply (np.sqrt)
A B
02.03.0
12.03.0
22.03.0
df.apply (np.sum, eksen = 0)
Bir 12
B 27
df.apply (np.sum, axis = 1)
013
113
213
Sekiz, Pivot Tablolar
Son olarak, Pivot Tablolar. Microsoft Excel'e aşinaysanız, pivot tabloları duymuş olabilirsiniz. Pandaların yerleşik pivot_table işlevi, verileri birkaç sütunda hızlı bir şekilde görüntülememize yardımcı olabilecek bir DataFrame biçiminde elektronik tablo tarzı bir pivot tablo oluşturur. İşte birkaç örnek: Verileri "Yönetici" ye göre çok akıllıca gruplara ayırın:
pd.pivot_table (df, dizin =)
Veya öznitelik değerlerini filtreleyebilirsiniz:
pd.pivot_table (df, dizin =, değerler =)
sonuç olarak
Umarım yukarıdaki bu açıklamalar Python'da bazı yararlı işlevleri ve kavramları keşfetmenizi sağlayacaktır.
Orijinal bağlantı:
https://towardsdatascience.com/python-for-data-science-8-concepts-you-may-have-forgotten-i-did-825966908393
Operatör: Ran Xiaoshan