So speichern und laden Sie eine RDS-Datei in R
Sie erfahren, wie Sie Objekte aus einer .rds-Datei in R speichern und laden. In diesem Blog wird auch behandelt, wie Sie Objekte aus R in LuckyTemplates importieren.
Das Arbeiten mit Strings ist eine häufige Aufgabe in Python. Oft müssen Sie herausfinden, ob eine Zeichenfolge eine andere Zeichenfolge enthält.
Zu den einfachsten Methoden zum Überprüfen, ob ein Python-String einen Teilstring enthält, gehören der „in“-Operator, die Funktion „find()“ und die Methode „index()“. Komplexere Szenarien können mit regulären Ausdrücken oder einer externen Bibliothek wie Pandas gelöst werden.
Dieser Artikel zeigt Ihnen:
vier einfache Methoden
zwei komplexere Regex-Funktionen
eine Methode, die die Pandas-Bibliothek verwendet
Sie lernen jede Technik anhand von Beispielen ihrer Syntax und Verwendung kennen. Außerdem erhalten Sie Tipps, welche Methode für unterschiedliche Anforderungen am besten geeignet ist.
Lass uns anfangen!
Inhaltsverzeichnis
Grundlagen von Python-Strings
Ein String in Python ist eine Zeichenfolge, die zur Darstellung textbasierter Daten verwendet wird. Sie können Buchstaben, Ziffern, Symbole und Leerzeichen enthalten.
Es handelt sich um einen der integrierten Datentypen von Python und kann mit einer der folgenden Methoden erstellt werden:
Einzelzitate (' ')
Anführungszeichen (" ")
Dreifache Anführungszeichen („' „' oder „““ „““)
Zeichenfolgen sind indiziert, was bedeutet, dass Sie auf bestimmte Zeichen zugreifen können, indem Sie auf deren Indexnummer verweisen. Der Startindex ist 0, was bedeutet, dass das erste Zeichen einer Zeichenfolge den Index 0 hat, das zweite den Index 1 und so weiter.
Als nächstes schauen wir uns Möglichkeiten an, um nach Teilzeichenfolgen zu suchen.
4 einfachste Möglichkeiten, nach Teilzeichenfolgen zu suchen
Python bietet viele Möglichkeiten, um zu überprüfen, ob ein bestimmter Teilstring innerhalb eines größeren Strings vorhanden ist. Einige sind komplexer als andere. Für die grundlegendsten Prüfungen sind die einfachsten Methoden der in-Operator oder eine von drei String-Methoden.
im Betreiber
find()-Methode
index()-Methode
count()-Methode
1. Im Operator
Der „in“-Operator in Python ist eine einfache und intuitive Möglichkeit, zu überprüfen, ob eine Zeichenfolge in einer anderen Zeichenfolge vorhanden ist. Dieser Operator prüft die Mitgliedschaft und gibt einen booleschen Wert zurück:
True, wenn die Teilzeichenfolge innerhalb der Hauptzeichenfolge gefunden wird
Falsch, wenn nicht
Hier ist ein Beispielcode:
s = "Hello, world!"
sub = "world"
result = sub in s
print(result) # Output: True
Beim „in“-Operator wird die Groß-/Kleinschreibung beachtet. Das bedeutet, dass Klein- und Großbuchstaben unterschiedlich behandelt werden. Der obige Code findet die Teilzeichenfolge „Hallo“ nicht, daher gibt der Operator „false“ zurück.
Wenn Sie eine Prüfung durchführen möchten, bei der die Groß-/Kleinschreibung nicht berücksichtigt wird, können Sie sowohl die Hauptzeichenfolge als auch die Teilzeichenfolge in dieselbe Groß-/Kleinschreibung umwandeln, bevor Sie die Prüfung durchführen:
s = "Hello, world!"
sub = "hello"
result = sub.lower() in s.lower()
print(result) # Output: True
Der Nachteil des in-Operators besteht darin, dass er nicht die Position des Teilstrings innerhalb des Hauptstrings angibt. Dafür benötigen Sie in diesem Abschnitt eine andere Methode. Weiter lesen…
2. Find()-Methode
Die Methode find() gibt den ersten Index zurück, an dem die Teilzeichenfolge erscheint, oder -1 , wenn die Teilzeichenfolge nicht gefunden wird.
Sie rufen die Methode find() für einen String s auf und übergeben den Teilstring sub als Argument. Hier ist ein Beispiel:
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")
Sie können optional einen Start- oder Endindex angeben, um Ihre Suche einzuschränken. Der Nachteil dieser Methode besteht darin, dass sie beim ersten Auftreten stoppt.
3. Index()-Methode
Die Methode index() ist der Methode find() ziemlich ähnlich , außer dass sie einen ValueError auslöst , wenn die Teilzeichenfolge nicht gefunden wird. Das bedeutet, dass Sie den Aufruf in einen Try/Except-Abschnitt einschließen sollten.
Um die Methode index() zu verwenden , rufen Sie sie für eine Zeichenfolge s auf und übergeben Sie die Teilzeichenfolge sub als Argument.
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")
Diese Methode stoppt auch beim ersten Teilstring im Text.
4. Count()-Methode
Die Methode .count() zählt, wie oft ein Teilstring im Originalstring vorkommt. Es gibt eine Ganzzahl zurück, die diese Anzahl darstellt. Wenn der Teilstring nicht im Hauptstring gefunden wird, wird 0 zurückgegeben.
Hier ist ein einfaches Beispiel, das nach dem Buchstaben „o“ im Text „Hello, world!“ sucht:
s = "Hello, world!"
sub = "o"
print(s.count(sub)) # Output:2
2 Möglichkeiten, Zeichenfolgen mit regulären Ausdrücken abzugleichen
Die Verwendung regulärer Ausdrücke (Regex) ist etwas komplexer als die Methoden im vorherigen Abschnitt. Sie bieten Ihnen jedoch mehr Möglichkeiten zur Suche und Analyse des Textes, mit dem Sie sich befassen.
Zwei der einfachsten Möglichkeiten innerhalb des re- Moduls sind:
suchen()
finde alle()
1. re.Search()
Die Funktion search() im re- Modul sucht nach einem Muster in einer bestimmten Zeichenfolge und gibt ein Übereinstimmungsobjekt zurück, wenn eine Übereinstimmung gefunden wird. Andernfalls wird None zurückgegeben .
Standardmäßig berücksichtigt die Funktion die Groß-/Kleinschreibung. Sie können das re.IgnoreCase- Flag verwenden, um die Groß-/Kleinschreibung zu vermeiden.
Hier ist ein einfaches Beispiel, das bedingte Anweisungen verwendet, die darauf basieren, ob die Zeichenfolge gefunden wird:
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")
Beachten Sie, dass diese Methode die erste Übereinstimmung findet und dann die Suche beendet. Wenn Sie alle Übereinstimmungen finden möchten, ist die nächste auf dieser Liste genau das Richtige für Sie.
2. re.Findall()
Diese Methode findet alle Vorkommen eines Suchmusters in einer bestimmten Zeichenfolge und gibt eine Liste mit allen Übereinstimmungen zurück.
In diesem Beispiel wird ein Muster verwendet, das einer oder mehreren Ziffern in einer Zeichenfolge entspricht. Die Textzeichenfolge „123, 456, 789“ enthält drei Ziffernfolgen.
import re
pattern = "d+"
text = "123, 456, 789"
numbers = re.findall(pattern, text)
print(numbers)
Dies ist die Antwort aus dem Beispielcode: ['123', '456', '789'].
So finden Sie Teilzeichenfolgen mit Pandas
Pandas ist eine beliebte Open-Source-Bibliothek zur Datenanalyse und -manipulation für Python. Es stellt Datenstrukturen und Funktionen bereit, die zum Bearbeiten und Analysieren strukturierter Daten erforderlich sind.
Eine der von Pandas bereitgestellten primären Datenstrukturen ist der DataFrame. Sie können diese vielseitige Datenstruktur verwenden, um zu prüfen, ob eine Zeichenfolge in einer anderen enthalten ist.
Der Vorteil von Pandas besteht darin, dass es Codepakete bereitstellt, die Sie in anderen Programmiersprachen umfangreich schreiben müssten. Insbesondere steckt viel Leistung in der Contains-Funktion.
str.contains() Funktion in Pandas
Die Methode str.contains() testet, ob ein angegebenes Muster oder ein angegebener regulärer Ausdruck in einer Zeichenfolge einer DataFrame-Spalte enthalten ist.
Hier ist ein Beispiel, das die Bibliothek importiert und in einer Liste von Zeichenfolgen nach einer Zeichenfolge sucht:
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)
In diesem Beispiel suchen wir in der Spalte „Früchte“ nach dem Teilstring „an“ und filtern den DataFrame entsprechend. Die Ausgabe wäre:
1 Banane
4 orange
Wenn Sie nach weiteren Beispielen für die Möglichkeiten von Pandas suchen, schauen Sie sich dieses Video an:
Tipps zur Auswahl einer bestimmten Methode in Python
Die Wahl der Methode hängt maßgeblich von den spezifischen Anforderungen Ihrer Aufgabenstellung ab.
Hier sind vier Gründe, eine der Methoden auszuwählen, die Sie in diesem Artikel gelernt haben, sowie eine Bonusmethode, die Sie an anderer Stelle in diesem Blog kennenlernen werden:
Geschwindigkeit der Bearbeitung
Sie müssen den Speicherort der Teilzeichenfolge kennen
Sie müssen die Anzahl der Vorkommen der Teilzeichenfolge kennen
Sie möchten komplexe Muster abgleichen
Durchführen einer Textanalyse
1. Geschwindigkeit der Verarbeitung
Der „in“-Operator ist die beste Wahl, wenn Sie einfach wissen möchten, ob ein Teilstring innerhalb eines Strings vorhanden ist.
Für diesen Zweck ist es einfach, intuitiv und schnell. Es liefert jedoch keine Informationen über den Speicherort oder die Anzahl der Teilzeichenfolgen.
2. Position des Teilstrings
Verwenden Sie die Methoden .find() oder .index() , wenn Sie die Position des ersten Vorkommens eines Teilstrings innerhalb eines Strings kennen müssen.
Beide geben den Index des ersten Vorkommens der Teilzeichenfolge zurück.
3. Anzahl der Teilzeichenfolgen
Verwenden Sie die Methode .count() , wenn Sie wissen möchten, wie oft ein Teilstring in einem String vorkommt.
4. Komplexe Muster
Wenn Sie komplexe Muster abgleichen oder Suchen ohne Berücksichtigung der Groß- und Kleinschreibung durchführen müssen, sind reguläre Ausdrücke am flexibelsten. Die Funktion re.search() kann Muster verarbeiten, die über einfache Teilzeichenfolgen hinausgehen, und problemlos Suchvorgänge durchführen, bei denen die Groß- und Kleinschreibung nicht berücksichtigt wird.
Allerdings können reguläre Ausdrücke für einfache Teilzeichenfolgenprüfungen übertrieben sein und auch langsamer und komplexer in der Verwendung und Wartung sein.
5. Durchführen einer Textanalyse
Schauen Sie sich unseren Artikel zur Textanalyse in Python an , der Ihnen zeigt, wie Sie mit der Textblob-Bibliothek arbeiten.
Sie können die .tags- Funktion verwenden, um nach Wortarten zu suchen, oder die .ngram- Funktion, um Wörter zu finden, die häufig zusammen in einem Dokument vorkommen.
Abschließende Gedanken
Sie haben sieben Methoden kennengelernt, um zu überprüfen, ob ein Wort- oder Zeichenfolgenobjekt in einem anderen enthalten ist. Dazu gehörten Mitgliedschaftsoperatoren, integrierte Funktionen, Regex und Pandas-Funktionen.
Jede Methode ist für einige Situationen richtig, aber nicht für alle. Verwenden Sie diesen Artikel als Spickzettel , während Sie die Programmiersprache Python beherrschen und die beste Lösung für Ihre String-Analyse-Aufgabe verwenden.
Denken Sie daran, dass es keine allgemeingültige Methode gibt. Jeder Ansatz hat seine eigenen Vorzüge und Eigenarten. Sie können also ruhig denjenigen auswählen, der zu Ihrem Stil oder dem speziellen Problem passt, das Sie lösen möchten. Letztlich geht es bei Python darum, Ihnen das Leben zu erleichtern, also nutzen Sie seine Flexibilität!
Sie erfahren, wie Sie Objekte aus einer .rds-Datei in R speichern und laden. In diesem Blog wird auch behandelt, wie Sie Objekte aus R in LuckyTemplates importieren.
Was ist Self in Python: Beispiele aus der Praxis
In diesem Tutorial zur DAX-Codierungssprache erfahren Sie, wie Sie die GENERATE-Funktion verwenden und einen Kennzahltitel dynamisch ändern.
In diesem Tutorial erfahren Sie, wie Sie mithilfe der Multi-Threaded-Dynamic-Visuals-Technik Erkenntnisse aus dynamischen Datenvisualisierungen in Ihren Berichten gewinnen.
In diesem Artikel werde ich den Filterkontext durchgehen. Der Filterkontext ist eines der Hauptthemen, über die sich jeder LuckyTemplates-Benutzer zunächst informieren sollte.
Ich möchte zeigen, wie der LuckyTemplates Apps-Onlinedienst bei der Verwaltung verschiedener Berichte und Erkenntnisse aus verschiedenen Quellen helfen kann.
Erfahren Sie, wie Sie Ihre Gewinnmargenänderungen mithilfe von Techniken wie Kennzahlenverzweigung und der Kombination von DAX-Formeln in LuckyTemplates ermitteln.
In diesem Tutorial werden die Ideen der Materialisierung von Datencaches und deren Auswirkungen auf die Leistung von DAXs bei der Bereitstellung von Ergebnissen erläutert.
Wenn Sie bisher noch Excel verwenden, ist dies der beste Zeitpunkt, LuckyTemplates für Ihre Geschäftsberichtsanforderungen zu verwenden.
Was ist LuckyTemplates Gateway? Alles was du wissen musst