Veri bilimi için Python: Unutabileceğiniz 8 kavram

Leifeng.com AI Research Press: Bu makale, Leifeng.com'un altyazı grubu tarafından derlenen teknik bir blogdur.Orijinal başlık, Veri Bilimi için Python: Unutmuş Olabileceğiniz 8 Kavram ve yazarı Conor Dewey'dir.

Çeviri | Pang Youzhen ve Huang Zhongjie tarafından düzenlendi | Kong Lingshuang

sorun

Kendinizi programlama sırasında aynı problemi, kavramı veya grameri tekrar tekrar ararken bulursanız, o zaman yalnız değilsiniz.

Bunu sık sık kendim yaparım.

StackOverflow ve diğer kaynak sitelerinde arama yapmak normal olsa da, size pek bir fayda sağlamaz ve dili anlama zorluğunuzu artırır.

Sınırsız bilginin ve sınırsız bedava kaynakların olduğu bir çağda yaşıyoruz, bir arayış sorunu çözecek gibi görünüyor. Ancak bu hem bir lütuf hem de bir lanet olabilir. Etkili yönetim ve entegrasyon olmadan, bu kaynaklara aşırı güvenmek uzun vadeli ilerlememizi engelleyecektir.

Kaynak: xkcd

Bir dahaki sefere karşılaşabileceğim bilgi noktalarını öğrenmek ve birleştirmek için zaman ayırmak yerine, kodu forumdan kopyaladığımı ve birkaç kez değiştirdiğimi fark ettim.

Bu yöntem tembeldir. Bu yöntem kısa vadede direnci daha az olsa da, sonuçta büyümenize, verimliliğinize ve grameri hatırlama yeteneğinize zarar verecektir.

Amaçları

Kısa süre önce Udemy'de "Veri Bilimi ve Makine Öğreniminde Python" adlı çevrimiçi bir kursu geçtim. Bu kurs serileri boyunca, Python veri analizinde gözden kaçırdığım bazı gramer ve kavramları sıraladım.

Bu kavramlar hakkındaki anlayışımı pekiştirmek ve StackOverFlow'da arama yapmanızı kolaylaştırmak için, burada Python, Numpy ve Pandas kullanımımla ilgili bazı bilgi noktalarını derledim.

Her bilgi noktası için kısa bir açıklama ve örnekler verdim. Ek olarak, bu bilgi noktalarının anlaşılmasını derinleştirmeye yardımcı olan videolara ve diğer materyallere bağlantılar da verdim.

Liste anlama

Döngüler yazarken, her seferinde bir grup liste tanımlamak oldukça sıkıcıdır. Neyse ki Python, bu sorunu sadece bir satır kodla çözebilen liste anlama adı verilen yerleşik bir yönteme sahiptir. Listeleri anlamak ilk başta sizin için zor olabilir, ancak bir kez aşina olduktan sonra onları sık sık kullanacaksınız.

Kaynak: Trey Hunner

Aşağıdaki ilk örnek, her bir öğenin karesini bulmanın yaygın bir yoludur ve ikincisi, bir liste anlayışı yazmanın yoludur.

x =

out =

x içindeki öğe için:

out.append (öğe ** 2)

çıktı)

# vs.

x =

out =

çıktı)

Lambda işlevi

Bazı işlevlerin yalnızca birkaç kez kullanılması gerekir ve yeni bir işlev tanımlamanız gerekir. Sıkıldınız mı? Lambda işlevi bu sorunu çözebilir! Lambda işlevleri genellikle Python'da daha az uygulama ile anonim işlevler oluşturmak için kullanılır. Bu, isimsiz bir işlev oluşturmanıza izin vermektir.

Lambda işlevinin temel sözdizimi aşağıdaki gibidir:

lambda bağımsız değişkenleri: ifade

Sıradan işlevlerin yapabildiği gibi, Lambda işlevleri de tek satırda yazılabildikleri sürece yapabilir. Aşağıdaki basit örnek ve video, Lambda işlevinin gücünü daha iyi anlamanıza yardımcı olabilir.

çift = lambda x: x * 2

baskı (çift (5))

10

Harita işlevi ve Filtre işlevi

Lambda işlevinde ustalaştıktan sonra, harita ve filtre işlevleriyle birlikte Lambda işlevini kullandığınızda, gücün çok büyük olduğunu göreceksiniz. Özellikle, harita işlevi listedeki her bir öğe üzerinde çalışarak listeyi yeni bir listeye dönüştürür. Aşağıdaki örnekte, harita işlevi her bir öğeyi yeni bir öğe olmak için 2 ile çarpar. Buradaki liste işlevinin çıktı sonucunu bir liste türüne dönüştürdüğünü unutmayın.

# Harita

seq =

sonuç = liste (harita (lambda var: var * 2, seq))

baskı (sonuç)

Filtre işlevi, harita işlevine benzer, ancak filtre işlevi, her öğenin doğru olup olmadığını karşılaştırarak orijinal listeden bir alt küme çıkarır.

# Filtre

seq =

sonuç = liste (filtre (lambda x: x > 2, seq))

baskı (sonuç)

Python: Lambda, Map, Filter, Reduce Fonksiyonları:

https://youtu.be/cKlnR-CB3tk

Arange işlevi ve Linspace işlevi

Hızlı bir şekilde basit bir NumPy dizisi oluşturmak için, arange ve linspace işlevlerini kullanmak en uygun olanıdır. Hepsinin kendine özgü işlevleri vardır, ancak burada kullanılan NumPy dizilerinin (kullanım kapsamı değil) genellikle veri bilimi için çalıştırılması daha kolaydır.

Arange işlevi, başlatma ve durdurma ile belirtilen aralığa ve adım tarafından ayarlanan adım boyutuna göre, belirtilen aralıkta eşit aralıklı bir dizi oluşturur. Başlangıç değeri başlangıç ve bitiş değerine ek olarak, adım uzunluğu veya veri türü de gerektiği gibi tanımlanabilir. Burada, son değerin bir "kesme" değeri olduğu, dolayısıyla üretilen diziye dahil edilmeyeceği not edilmelidir.

# np.arange (başlat, durdur, adım)

np.arange (3, 7, 2)

dizi()

Linspace işlevleri çok benzer, ancak biraz farklıdır. Başlatma ve durdurma ile belirtilen aralığa ve num ile ayarlanan sayıya göre belirli sayıda tekdüze aralıklı dizi üretir. Bu nedenle, bir başlangıç değeri başlangıcı ve bir bitiş değeri duru ve bir sayı numarası verildiğinde, boşluk işlevi NumPy dizisindeki bu aralığı eşit olarak böler. Bu, veri görselleştirme ve zaman ekseni ifadesini çizmek için kullanışlıdır.

# np.linspace (başlatma, durdurma, sayı)

np.linspace (2.0, 3.0, num = 5)

dizi ()

Axis nedir

Pandaları sütunları silmek veya NumPy matris öğelerini toplamak için kullanırken bu sorunla karşılaşabilirsiniz. Aksi takdirde, kesinlikle daha sonra karşılaşacaksınız. Aşağıda bir sütun silme örneği verilmiştir:

df.drop ('Sütun A', eksen = 1)

df.drop ('Satır A', eksen = 0)

Neden eksenin ne olduğunu açıklamam gerektiğini gerçekten anlamadan önce bu kod satırını sayısız kez yazdım. Yukarıdaki koddan, sütunlar üzerinde işlem yapıyorsanız ekseni 1'e ayarlamanız ve satırlar için 0'a ayarlamanız gerektiği sonucuna varabilirsiniz. Ama bu neden? Nedenini bulmayı seviyorum ya da en azından şunu hatırlıyorum:

df.shape

(Satır Sayısı, Sütun Sayısı)

Pandas'taki veri çerçevesinin şekil özniteliğine bakıldığında, ilk değerin satır sayısını ve ikinci değerin sütun sayısını temsil ettiği bir demet döndürür. Python'daki indeksleme yöntemini düşünün - davranış 0, 1 olarak listelenir, bu, bir eksen bildirme şeklimize çok benzer. Çok ilginç değil mi?

Pandalarda "eksen" parametresini nasıl kullanırım ?:

https://youtu.be/PtO3t6ynH-8

Concat işlevi, Birleştirme işlevi ve Birleştirme işlevi

SQL'e aşina iseniz, bu işlevsel yöntemlerin anlaşılması daha kolay olabilir. Aslında, bunlar aslında veri çerçevelerini belirli bir şekilde birleştirmek için kullanılan yöntemlerdir. Hangi durumda hangisinin daha iyi olduğunu söylemek zor, o yüzden tekrar gözden geçirelim.

Concat işlevi, bir veya daha fazla veri çerçevesini onun altında veya yanında birleştirebilir (eksenin nasıl tanımlandığına bağlı olarak).

Birleştirme işlevi, birincil anahtar olarak belirtilen ortak sütundaki birden çok veri çerçevesini birleştirir.

Birleştirme işlevi, iki veri çerçevesini, birleştirme işlevine benzer şekilde birleştirir. Ancak, veri çerçevesini bazı belirlenmiş sütunlar yerine dizine dayalı olarak birleştirir.

Spesifik kullanım ve daha spesifik örnekler ile karşılaşabileceğiniz bazı özel kullanımlar hakkında bilgi edinmek için mükemmel Pandas belgelerine göz atabilirsiniz.

Youtube:

https://youtu.be/XMjSGGej9y8

Pandaların Uygula işlevi

Uygulama işlevini bir harita işlevi olarak düşünebilirsiniz, ancak yalnızca Pandas DataFrame veya daha spesifik olarak Seriler üzerinde çalışır. Series'e aşina değilseniz, aslında birçok yönden NumPy dizilerine çok benziyor.

Uygula işlevi, belirttiğiniz sütun veya satırdaki her öğeye bir işlev uygular. Bunun ne kadar yararlı olduğunu hayal edebilirsiniz, özellikle de döngüye gerek kalmadan tüm DataFrame sütununda normalleştirme ve öğe değeri işlemleri gerçekleştirdiğinizde.

Python Pandas Youtube öğretim videosu:

https://youtu.be/P_q0tkYqvSk

Özet Tablolar

Son fakat en az değil, pivot tablodur. Microsoft Excel'e aşina iseniz, pivot tabloları bazı şekillerde duymuş olabilirsiniz. Pandaların yerleşik pivot_table işlevi, DataFrame olarak elektronik tablo tarzında bir pivot tablo oluşturabilir. Pivot tablodaki düzeylerin oluşturulan DataFrame hiyerarşik dizinde ve sütununda depolandığına dikkat edilmelidir.

Sonuç

Python'u veri bilimi işlemleri için kullandığınızda, sık sık karşılaştığınız bazı önemli ama biraz zor yöntemler, işlevler ve kavramlar aracılığıyla yukarıdaki yöntemleri yavaş ve etkili bir şekilde ezberleyebileceğinizi umuyorum. Kişisel olarak bunları yazmak ve basit terimlerle açıklamaya çalışmak da bu bilgiye dair anlayışımı derinleştirdi.

Leifeng.com altyazı grubu tarafından derlenmiştir.

Orijinal bağlantı:

https://towardsdatascience.com/python-for-data-science-8-concepts-you-may-have-forgotten-i-did-825966908393

Takma ad ekstra ~

Odaklanmış biri

AI teknolojisinin geliştirilmesi ve AI mühendislerinin büyümesi için bilgi arayan bir topluluk

Doğdu!

Herkesi aşağıdaki bağlantıyı ziyaret etmeye veya deneyimlemek için kodu taramaya hoş geldiniz

https://club.leiphone.com/page/home

Liu Lirong, Saipan'ın 1 milyardan fazla kumarda kaybettiğini ve Jinli'nin uzun vadeli kayıplar nedeniyle düştüğünü itiraf etti!
önceki
Jackie Chan ve komedi yıldızı, yeni yılın ilk aile tatili olan "Dedektif Pu Songling" i kutsadı.
Sonraki
Chongqing Hayvanat Bahçesi yeni bir üye ekledi, vahşi yaşam kurtarma, yola çıktı!
Xindong VS Fox, aile arabası olarak kimi seçerdiniz?
Yeni Y-318 ayakkabısı ne kadar göz alıcı? Yakın alan doku detaylarını kontrol edemezsiniz!
Huawei, yeni selfie kamerasını ısıtıyor ve "delikli ekran" tasarımıyla donatılmış olabileceğini öne sürüyor!
Çin Mühendislik Akademisi akademisyeni Li Jun: Akıllı otomobillerin geliştirilmesindeki temel sorunlar ve karşı önlemler
"White Snake: Origin" ağızdan ağza özel yayınladı, izleyiciler "tam notu hak ediyor" u övdü
Ev tüketicisi pazarına giren bir sonraki AI donanımı yüz tanıma ürünü olacak mı?
RNG'nin yeni listeleri ortaya çıktı! Xiaoming PDD ona yüz yüze sordu: Bunu nasıl düşünüyorsun?
Sesli iletişim 4G ağını yükseltmek zorunda, China Telecom bu ay ticari VoLTE çağrı teknolojisini test ediyor!
2,4 milyarlık 2,9 milyar kahramanca temettü kazanın! Bonus vermek için "nakit duvarını" kullanan şirket, servetini yeniden gösteriyor!
Bu beş yıldızlı otonom SUV'lar düşük konfigürasyonla yeterince güvenli mi?
Meizu 16 serisi seri üretim sorunu çözüldü, netizenler gelecek yılın amiral gemisine dikkat ediyor, Huang Zhang konuyla ilgili bilgileri açıkladı!
To Top