Dátumtáblázat létrehozása a LuckyTemplates alkalmazásban
Tudja meg, miért fontos egy dedikált dátumtáblázat a LuckyTemplatesben, és ismerje meg ennek leggyorsabb és leghatékonyabb módját.
A karakterláncokkal végzett munka gyakori feladat a Pythonban. Gyakran meg kell találnia, hogy egy karakterlánc tartalmaz-e másik karakterláncot.
A legegyszerűbb módszerek annak ellenőrzésére, hogy egy Python-karakterlánc tartalmaz-e részkarakterláncot, az 'in' operátor, a find() függvény és az index() metódus. A bonyolultabb forgatókönyvek megoldhatók reguláris kifejezésekkel vagy külső könyvtárral, mint például a Pandas.
Ez a cikk megmutatja:
négy egyszerű módszer
két bonyolultabb regex függvény
a Pandas könyvtárat használó módszer
Az egyes technikákat szintaxisuk és használatuk példáin keresztül ismerheti meg. Tippeket is kaphat arra vonatkozóan, hogy melyik módszer a legmegfelelőbb a különböző követelményeknek.
Kezdjük el!
Tartalomjegyzék
A Python karakterláncok alapjai
A Pythonban a karakterlánc olyan karaktersorozat, amely szöveges adatok megjelenítésére szolgál. Tartalmazhatnak betűket, számjegyeket, szimbólumokat és szóközöket.
Ez a Python egyik beépített adattípusa, és a következők valamelyikével hozható létre:
egyetlen idézőjel ('')
idézőjelek (" ")
hármas idézőjelek ("' "' vagy """ "")
A karakterláncok indexeltek, ami azt jelenti, hogy adott karakterekhez az indexszámukra való hivatkozással férhet hozzá. A kezdő index 0, ami azt jelenti, hogy egy karakterlánc első karakterének indexe 0, a másodiké 1, és így tovább.
Ezután megvizsgáljuk az alkarakterláncok ellenőrzésének módjait.
4 legegyszerűbb módja az alkarakterláncok ellenőrzésének
A Python számos módot kínál annak ellenőrzésére, hogy egy bizonyos részkarakterlánc létezik-e egy nagyobb karakterláncban. Egyesek összetettebbek, mint mások. A legalapvetőbb ellenőrzésekhez a legegyszerűbb módszerek az in operátor vagy a három karakterlánc módszer egyike.
kezelőben
find() metódus
index() metódus
count() metódus
1. A Kezelőben
Az „in” operátor a Pythonban egy egyszerű és intuitív módszer annak ellenőrzésére, hogy egy karakterlánc létezik-e egy másik karakterláncban. Ez az operátor ellenőrzi a tagságot, és logikai értéket ad vissza:
Igaz, ha az alkarakterlánc a fő karakterláncban található
Hamis, ha nem
Íme néhány minta kód:
s = "Hello, world!"
sub = "world"
result = sub in s
print(result) # Output: True
Az „in” operátor megkülönbözteti a kis- és nagybetűket. Ez azt jelenti, hogy a kis- és nagybetűket különbözőként kezeli. A fenti kód nem találja a „hello” részstringet, ezért az operátor false értéket ad vissza.
Ha kis- és nagybetűket nem érző ellenőrzést szeretne végrehajtani, az ellenőrzés végrehajtása előtt konvertálhatja a fő karakterláncot és az alkarakterláncot is ugyanarra a kis- és nagybetűre:
s = "Hello, world!"
sub = "hello"
result = sub.lower() in s.lower()
print(result) # Output: True
Az in operátor hátránya, hogy nem adja meg az alsztring pozícióját a fő karakterláncon belül. Ehhez egy másik módszerre van szüksége ebben a részben. Olvass tovább…
2. Find() metódus
A find() metódus visszaadja az első indexet, amelynél a részkarakterlánc megjelenik, vagy -1-et , ha a részkarakterlánc nem található.
Meghívod a find() metódust egy s karakterláncon , argumentumként átadva a substring substringet . Íme egy példa:
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")
A keresés korlátozásához opcionálisan megadhat egy kezdő vagy záró indexet. Ennek a módszernek az a hátránya, hogy az első előfordulásnál leáll.
3. Index() módszer
Az index() metódus nagyon hasonlít a find() metódushoz, azzal a különbséggel, hogy ValueError hibaüzenetet vet fel, ha az alkarakterlánc nem található. Ez azt jelenti, hogy a hívást egy Try/Except szakaszba kell csomagolnia.
Az index() metódus használatához hívja meg egy s karakterláncon , és adja át argumentumként a substring substringet .
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")
Ez a metódus a szövegen belüli első részkarakterláncnál is megáll.
4. Count() módszer
A .count() metódus megszámolja, hogy egy részkarakterlánc hányszor fordul elő az eredeti karakterláncban. Ezt a számot reprezentáló egész számot ad vissza. Ha az alkarakterlánc nem található a fő karakterláncban, akkor 0-t ad vissza.
Íme egy egyszerű példa, amely az „o” betűt keresi a „Hello, world!” szövegben:
s = "Hello, world!"
sub = "o"
print(s.count(sub)) # Output:2
2 módszer a karakterláncok reguláris kifejezésekkel való párosítására
A (regex) használata kicsit bonyolultabb, mint az előző részben leírt módszerek. Ezek azonban több lehetőséget kínálnak az éppen tárgyalt szöveg keresésére és elemzésére.
A re modulon belül a két legegyszerűbb módszer a következő:
keresés()
Találd meg mindet()
1. re.Search()
A re modul search() függvénye egy mintát keres egy adott karakterláncban, és egy match objektumot ad vissza, ha egyezés található. Ellenkező esetben a None értéket adja vissza .
Alapértelmezés szerint a függvény megkülönbözteti a kis- és nagybetűket. A kis- és nagybetűk érzékenységének elkerülése érdekében használhatja a re.IgnoreCase jelzőt.
Íme egy egyszerű példa, amely feltételes utasításokat használ aszerint, hogy a karakterlánc megtalálható-e:
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")
Vegye figyelembe, hogy ez a módszer megtalálja az első egyezést, majd leállítja a keresést. Ha meg szeretné találni az összes egyezést, akkor ezen a listán a következő az Ön számára.
2. re.Findall()
Ez a módszer megkeresi a keresési minták összes előfordulását egy adott karakterláncban, és egy listát ad vissza, amely tartalmazza az összes találatot.
Ez a példa olyan mintát használ, amely megfelel egy karakterlánc egy vagy több számjegyének. A „123, 456, 789” szövegsor három számjegysorozatot tartalmaz.
import re
pattern = "d+"
text = "123, 456, 789"
numbers = re.findall(pattern, text)
print(numbers)
Ez a válasz a mintakódból: ['123', '456', '789'].
Hogyan találhatunk részkarakterláncokat pandákkal
A Pandas egy népszerű nyílt forráskódú adatelemző és -manipulációs könyvtár a Python számára. Adatstruktúrákat és funkciókat biztosít a strukturált adatok manipulálásához és elemzéséhez.
A Pandas által biztosított egyik elsődleges adatstruktúra a DataFrame. Ezzel a sokoldalú adatszerkezettel ellenőrizheti, hogy az egyik karakterlánc a másikban található-e.
A Pandas előnye, hogy olyan kódcsomagokat biztosít, amelyeket más programozási nyelveken is alaposan meg kellene írni . Pontosabban, sok erő van a Tartalma funkció belsejében.
str.contains() Funkció a Pandasban
Az str.contains() metódus azt teszteli, hogy egy adott minta vagy reguláris kifejezés szerepel-e egy DataFrame oszlop karakterláncában.
Íme egy példa, amely importálja a könyvtárat, és egy karakterláncot keres a karakterláncok listáján:
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)
Ebben a példában az 'an' részkarakterláncot keressük a 'gyümölcsök' oszlopban, és ennek megfelelően szűrjük a DataFrame-et. A kimenet a következő lenne:
1 banán
4 narancs
Ha további példákat keres a Pandák képességeire, nézze meg ezt a videót:
Tippek egy adott módszer kiválasztásához Pythonban
A módszer kiválasztása nagymértékben függ a feladat konkrét követelményeitől.
Íme négy ok, amiért az ebből a cikkből tanult módszerek közül válasszon egyet, valamint egy bónuszmódszert, amelyet ezen a blogon máshol is megtudhat:
A feldolgozás sebessége
Tudnia kell az alkarakterlánc helyét
Tudnia kell az alkarakterlánc előfordulásának számát
Összetett mintákat szeretne egyeztetni
Szövegelemzés végzése
1. A feldolgozás sebessége
Az 'in' 0perator a legjobb választás, ha csak azt szeretné tudni, hogy létezik-e részkarakterlánc egy karakterláncon belül.
Erre a célra egyszerű, intuitív és gyors. Azonban nem ad információt a részkarakterlánc helyéről vagy számáról.
2. Az Alkarakterlánc helye
Használja a .find() vagy .index() metódusokat, ha tudnia kell egy részkarakterlánc első előfordulásának helyét a karakterláncon belül.
Mindkettő a részkarakterlánc első előfordulásának indexét adja vissza.
3. A részkarakterlánc száma
Használja a .count() metódust, ha meg szeretné tudni, hogy egy részkarakterlánc hányszor fordul elő egy karakterláncban.
4. Összetett minták
Ha összetett mintákat kell egyeztetnie, vagy kis- és nagybetűket nem érző kereséseket kell végrehajtania, a reguláris kifejezések a legrugalmasabbak. A re.search() függvény képes kezelni az egyszerű részkarakterláncokon túlmutató mintákat, és könnyen végrehajthat olyan kereséseket, amelyek nem különböznek egymástól.
A reguláris kifejezések azonban túlzásba eshetnek az egyszerű részkarakterlánc-ellenőrzéseknél, és lassabbak és bonyolultabbak is lehetnek a használatuk és a karbantartásuk.
5. Szövegelemzés végrehajtása
Tekintse meg cikkünket, amely bemutatja, hogyan kell dolgozni a textblob könyvtárral.
Használhatja a .tags függvényt a beszédrészek ellenőrzésére, az .ngram függvényt pedig olyan szavak keresésére, amelyek gyakran együtt szerepelnek egy dokumentumban.
Végső gondolatok
Hét módszert tanult meg annak ellenőrzésére, hogy egy szó vagy karakterlánc-objektum szerepel-e egy másikban. Ezek közé tartoztak a tagsági operátorok, a beépített függvények, a regex és a Pandas függvények.
Mindegyik módszer megfelelő bizonyos helyzetekben, de nem mindenre. Használja ezt a cikket a Python programozási nyelv elsajátításához, és használja a legjobb megoldást a karakterlánc-elemzési feladathoz.
Ne feledje, nincs mindenkire érvényes módszer. Mindegyik megközelítésnek megvannak a maga előnyei és sajátosságai, ezért nyugodtan válassza ki azt, amelyik illik stílusához vagy a megoldani kívánt problémához. Végső soron a Python célja, hogy megkönnyítse az életét, ezért használja ki rugalmasságát!
Tudja meg, miért fontos egy dedikált dátumtáblázat a LuckyTemplatesben, és ismerje meg ennek leggyorsabb és leghatékonyabb módját.
Ez a rövid oktatóanyag kiemeli a LuckyTemplates mobil jelentési funkcióját. Megmutatom, hogyan készíthet hatékony jelentéseket mobileszközökön.
Ebben a LuckyTemplates bemutatóban olyan jelentéseket tekintünk át, amelyek professzionális szolgáltatáselemzést mutatnak be egy olyan cégtől, amely több szerződéssel és ügyfél-elkötelezettséggel rendelkezik.
Tekintse át a Power Apps és a Power Automate legfontosabb frissítéseit, valamint azok előnyeit és következményeit a Microsoft Power Platform számára.
Fedezzen fel néhány gyakori SQL-függvényt, amelyeket használhatunk, például a karakterláncot, a dátumot és néhány speciális függvényt az adatok feldolgozásához vagy manipulálásához.
Ebből az oktatóanyagból megtudhatja, hogyan hozhatja létre a tökéletes LuckyTemplates sablont, amely az Ön igényeinek és preferenciáinak megfelelően van konfigurálva.
Ebben a blogban bemutatjuk, hogyan lehet a mezőparamétereket kis többszörösekkel rétegezni, hogy hihetetlenül hasznos betekintést és látványelemeket hozzon létre.
Ebből a blogból megtudhatja, hogyan használhatja a LuckyTemplates rangsorolási és egyéni csoportosítási funkcióit a mintaadatok szegmentálására és kritériumok szerinti rangsorolására.
Ebben az oktatóanyagban egy konkrét technikát fogok bemutatni, hogyan jelenítheti meg a kumulatív összeget csak egy adott dátumig a LuckyTemplates vizualizációjában.
Ismerje meg, hogyan hozhat létre és testreszabhat Bullet diagramokat a LuckyTemplates alkalmazásban, amelyeket főként a teljesítmény mérésére használnak a célhoz vagy az előző évekhez képest.