Excel Hücrelerini Metne Sığdırma: 4 Kolay Çözüm
Excel hücrelerini metne sığdırmak için güncel bilgileri ve 4 kolay çözümü keşfedin.
Dizelerle çalışmak Python'da yaygın bir görevdir. Genellikle bir dizgenin başka bir dizi içerip içermediğini anlamanız gerekir.
Bir Python dizesinin bir alt dize içerip içermediğini kontrol etmenin en basit yöntemleri arasında 'in' operatörü, find() işlevi ve index() yöntemi bulunur. Daha karmaşık senaryolar, düzenli ifadelerle veya Pandas gibi harici bir kitaplıkla çözülebilir.
Bu makale size şunları gösterir:
dört basit yöntem
iki daha karmaşık normal ifade işlevi
Pandalar kitaplığını kullanan bir yöntem
Söz dizimi ve kullanım örnekleri aracılığıyla her tekniği öğreneceksiniz. Ayrıca, farklı gereksinimler için hangi yöntemin en iyi olduğuna dair ipuçları alacaksınız.
Başlayalım!
İçindekiler
Python Dizelerinin Temelleri
Python'da bir dize, metin tabanlı verileri temsil etmek için kullanılan bir karakter dizisidir. Harfleri, rakamları, sembolleri ve boşlukları içerebilirler.
Python'un yerleşik veri türlerinden biridir ve aşağıdakilerden biri kullanılarak oluşturulabilir:
tek tırnak (' ')
ikili alıntı (" ")
üçlü tırnak (“' ”' veya “”” “””)
Dizeler dizine eklenir, bu da belirli karakterlere dizin numaralarına başvurarak erişebileceğiniz anlamına gelir. Başlangıç indeksi 0'dır, yani bir dizgenin ilk karakterinin indeksi 0'dır, ikincisinin indeksi 1'dir, vb.
Ardından, alt dizileri kontrol etmenin yollarına bakıyoruz.
Alt Dizileri Kontrol Etmenin En Basit 4 Yolu
Python, daha büyük bir dizede belirli bir alt dizenin olup olmadığını kontrol etmek için birçok yol sağlar. Bazıları diğerlerinden daha karmaşıktır. En temel kontroller için en basit yöntemler in operatörü veya üç dizi yönteminden biridir.
operatörde
bul() yöntemi
index() yöntemi
say() yöntemi
1. Operatörde
Python'daki 'in' operatörü, bir dizenin başka bir dize içinde olup olmadığını kontrol etmenin basit ve sezgisel bir yoludur. Bu operatör üyeliği kontrol eder ve bir boole değeri döndürür:
Alt dize ana dize içinde bulunursa doğrudur
Değilse yanlış
İşte bazı örnek kod:
s = "Hello, world!"
sub = "world"
result = sub in s
print(result) # Output: True
'in' operatörü büyük/küçük harfe duyarlıdır. Bu, küçük ve büyük harfleri farklı olarak ele aldığı anlamına gelir. Yukarıdaki kod “hello” alt dizesini bulmayacağı için operatör false döndürür.
Büyük/küçük harfe duyarlı olmayan bir kontrol gerçekleştirmek istiyorsanız, kontrolü gerçekleştirmeden önce hem ana dizgiyi hem de alt dizgiyi aynı büyük/küçük harfe dönüştürebilirsiniz:
s = "Hello, world!"
sub = "hello"
result = sub.lower() in s.lower()
print(result) # Output: True
in operatörünün dezavantajı, ana dizge içindeki alt dizginin konumunu sağlamamasıdır. Bunun için bu bölümde başka bir yönteme ihtiyacınız olacak. Okumaya devam etmek…
2. Bul() Yöntemi
find () yöntemi, alt dizenin göründüğü ilk dizini veya alt dize bulunmazsa -1'i döndürür.
Bir s dizesinde find() yöntemini çağırırsınız ve sub dizesini argüman olarak iletirsiniz . İşte bir örnek:
s = "Hello, world!"
sub = "world"
index = s.find(sub)
if index != -1:
print("Found at index:", index) # Output: Found at index: 7
else:
print("Not found")
Aramanızı sınırlamak için isteğe bağlı olarak bir başlangıç veya bitiş dizini belirtebilirsiniz. Bu yöntemin dezavantajı, ilk oluşumda durmasıdır.
3. Index() Yöntemi
index () yöntemi, alt dize bulunamadığında bir ValueError oluşturması dışında find() yöntemine oldukça benzer . Bu, aramayı bir Dene/Hariç Tut bölümüne sarmanız gerektiği anlamına gelir.
index() yöntemini kullanmak için , onu bir s dizgesinde çağırın ve alt dizgiyi argüman olarak iletin.
s = "Hello, world!"
sub = "world"
try:
index = s.index(sub)
print("Found at index:", index) # Output: Found at index: 7
except ValueError:
print("Not found")
Bu yöntem ayrıca metin içindeki ilk alt dizede durur.
4. Count() Yöntemi
.count () yöntemi, orijinal dizide bir alt dizenin kaç kez oluştuğunu sayar. Bu sayıyı temsil eden bir tamsayı döndürür. Alt dizi ana dizide bulunmazsa, 0 değerini döndürür.
İşte “Merhaba dünya!” metninde “o” harfini arayan basit bir örnek:
s = "Hello, world!"
sub = "o"
print(s.count(sub)) # Output:2
Dizeleri Normal İfadelerle Eşleştirmenin 2 Yolu
Normal ifadeleri (regex) kullanmak , önceki bölümdeki yöntemlerden biraz daha karmaşıktır. Ancak, uğraştığınız metni aramak ve analiz etmek için size daha fazla seçenek sunarlar.
re modülündeki en kolay yollardan ikisi şunlardır:
aramak()
hepsini bul()
1. yeniden Ara()
re modülündeki search () işlevi, belirli bir dizgede bir kalıp arar ve bir eşleşme bulunursa bir eşleşme nesnesi döndürür. Aksi takdirde, None döndürür .
Varsayılan olarak, işlev büyük/küçük harfe duyarlıdır. Büyük/küçük harf duyarlılığını önlemek için re.IgnoreCase bayrağını kullanabilirsiniz .
Aşağıda, dizenin bulunup bulunmadığına bağlı olarak koşullu ifadeler kullanan basit bir örnek verilmiştir:
import re
pattern = "python"
text = "I love Python programming"
match = re.search(pattern, text, re.IGNORECASE)
if match:
print("Pattern found")
else:
print("Pattern not found")
Bu yöntemin ilk eşleşmeyi bulduğunu ve ardından aramayı durdurduğunu unutmayın. Tüm eşleşmeleri bulmak istiyorsanız, bu listedeki sıradaki sizin için.
2. re.Findall()
Bu yöntem, belirli bir dizide bir arama modelinin tüm oluşumlarını bulur ve tüm eşleşmeleri içeren bir liste döndürür.
Bu örnek, bir dizide bir veya daha fazla rakamla eşleşen bir kalıp kullanır. “123, 456, 789” metin dizisi üç rakam dizisi içerir.
import re
pattern = "d+"
text = "123, 456, 789"
numbers = re.findall(pattern, text)
print(numbers)
Bu, örnek koddan alınan yanıttır: ['123', '456', '789'].
Pandalarla Alt Dizeleri Nasıl Bulursunuz?
Pandas, Python için popüler bir açık kaynaklı veri analizi ve manipülasyon kitaplığıdır. Yapılandırılmış verileri işlemek ve analiz etmek için gereken veri yapılarını ve işlevleri sağlar.
Pandalar tarafından sağlanan birincil veri yapılarından biri DataFrame'dir. Bu çok yönlü veri yapısını, bir diziyi diğerinin içinde kontrol etmek için kullanabilirsiniz.
Pandas'ın avantajı, diğer programlama dillerinde kapsamlı bir şekilde yazmanız gereken kod paketleri sağlamasıdır . Spesifik olarak, içerir işlevinin içinde çok fazla güç bulunur.
Pandalarda str.contains() İşlevi
str.contains () yöntemi, bir DataFrame sütununun dizesinde belirtilen bir modelin veya normal ifadenin bulunup bulunmadığını test eder.
Aşağıda, kitaplığı içe aktaran ve bir dize listesi içinde bir dize arayan bir örnek verilmiştir:
import pandas as pd
# Creating a sample DataFrame
data = {'fruits': ['apple', 'banana', 'cherry', 'watermelon', 'orange']}
df = pd.DataFrame(data)
# Searching for substrings in the 'fruits' column
has_an = df['fruits'].str.contains(pat='an', regex=False)
# Filtering the DataFrame based on the search results
filtered_df = df[has_an]
print(filtered_df)
Bu örnekte, 'meyveler' sütununda 'an' alt dizesini arıyoruz ve DataFrame'i buna göre filtreliyoruz. Çıktı şöyle olurdu:
1 muz
4 portakal
Pandaların neler yapabileceğine dair daha fazla örnek arıyorsanız, bu videoyu izleyin:
Python'da Belirli Bir Yöntem Seçmek İçin İpuçları
Yöntemin seçimi büyük ölçüde görevinizin özel gereksinimlerine bağlıdır.
İşte bu makaleden öğrendiğiniz yöntemlerden birini seçmeniz için dört neden ve ayrıca bu blogda başka bir yerde öğreneceğiniz bir bonus yöntem:
işleme hızı
Alt dizenin yerini bilmeniz gerekir
Alt dizenin oluşum sayısını bilmeniz gerekir
Karmaşık kalıpları eşleştirmek istiyorsunuz
Metin analizi yapma
1. İşlem Hızı
Bir dize içinde bir alt dize olup olmadığını bilmek istiyorsanız, 'in' 0 işlemcisi en iyi seçimdir.
Bu amaç için basit, sezgisel ve hızlıdır. Ancak, alt dizenin konumu veya sayısı hakkında bilgi sağlamaz.
2. Alt Dizinin Konumu
Bir dize içindeki bir alt dizenin ilk geçtiği konumu bilmeniz gerekiyorsa .find() veya .index() yöntemlerini kullanın .
Her ikisi de alt dizenin ilk geçtiği dizinin dizinini döndürür.
3. Alt Dizi Sayısı
Bir dizgede bir alt dizgenin kaç kez geçtiğini öğrenmek istediğinizde .count() yöntemini kullanın .
4. Karmaşık Modeller
Karmaşık kalıpları eşleştirmeniz veya büyük/küçük harfe duyarlı olmayan aramalar yapmanız gerekiyorsa, normal ifadeler en esnek olanıdır. re.search () işlevi, basit alt dizelerin ötesinde kalıpları işleyebilir ve büyük/küçük harfe duyarlı olmayan aramaları kolayca gerçekleştirebilir.
Bununla birlikte, normal ifadeler, basit alt dize kontrolleri için gereğinden fazla olabilir ve kullanımı ve bakımı daha yavaş ve daha karmaşık olabilir.
5. Metin Analizi Gerçekleştirme
Textblob kitaplığıyla nasıl çalışacağınızı gösteren Python'daki metin analizi hakkındaki makalemize göz atın .
Konuşmanın bölümlerini kontrol etmek için .tags işlevini veya bir belgede sıklıkla bir arada geçen sözcükleri bulmak için .ngram işlevini kullanabilirsiniz .
Son düşünceler
Bir kelime veya dize nesnesinin başka bir kelimede bulunup bulunmadığını kontrol etmek için yedi yöntem öğrendiniz. Bunlara üyelik işleçleri, yerleşik işlevler, regex ve Pandas işlevleri dahildir.
Her yöntem bazı durumlar için doğrudur, ancak hepsi için doğru değildir. Python programlama dilinde ustalaşırken bu makaleyi bir kopya kağıdı olarak kullanın ve dize analizi göreviniz için en iyi çözümü kullanın.
Unutmayın, herkese uyan tek bir yöntem yoktur. Her yaklaşımın kendi avantajları ve tuhaflıkları vardır, bu nedenle tarzınıza veya çözmeye çalıştığınız belirli soruna uyanı seçmekten çekinmeyin. Günün sonunda, Python tamamen hayatınızı kolaylaştırmakla ilgilidir, bu yüzden esnekliğini kucaklayın!
Excel hücrelerini metne sığdırmak için güncel bilgileri ve 4 kolay çözümü keşfedin.
Bir Excel Dosyasının Boyutunu Küçültmek için 6 Etkili Yöntem. Hızlı ve kolay yöntemler ile verilerinizi kaybetmeden yer açın.
Python'da Self Nedir: Gerçek Dünyadan Örnekler
R'de bir .rds dosyasındaki nesneleri nasıl kaydedeceğinizi ve yükleyeceğinizi öğreneceksiniz. Bu blog aynı zamanda R'den LuckyTemplates'a nesnelerin nasıl içe aktarılacağını da ele alacaktır.
Bu DAX kodlama dili eğitiminde, GENERATE işlevinin nasıl kullanılacağını ve bir ölçü başlığının dinamik olarak nasıl değiştirileceğini öğrenin.
Bu eğitici, raporlarınızdaki dinamik veri görselleştirmelerinden içgörüler oluşturmak için Çok Kanallı Dinamik Görseller tekniğinin nasıl kullanılacağını kapsayacaktır.
Bu yazıda, filtre bağlamından geçeceğim. Filtre bağlamı, herhangi bir LuckyTemplates kullanıcısının başlangıçta öğrenmesi gereken en önemli konulardan biridir.
LuckyTemplates Apps çevrimiçi hizmetinin çeşitli kaynaklardan oluşturulan farklı raporların ve içgörülerin yönetilmesine nasıl yardımcı olabileceğini göstermek istiyorum.
LuckyTemplates'da ölçü dallandırma ve DAX formüllerini birleştirme gibi teknikleri kullanarak kâr marjı değişikliklerinizi nasıl hesaplayacağınızı öğrenin.
Bu öğreticide, veri önbelleklerini gerçekleştirme fikirleri ve bunların DAX'ın sonuç sağlama performansını nasıl etkilediği tartışılacaktır.