Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich Spalten mit teilweisen String-Übereinstimmungen in DataFrames effizient abrufen?

Wie kann ich Spalten mit teilweisen String-Übereinstimmungen in DataFrames effizient abrufen?

DDD
DDDOriginal
2024-10-20 14:02:02537Durchsuche

How to Efficiently Retrieve Columns with Partial String Matches in DataFrames?

Effizientes Abrufen von Spalten mit teilweisen String-Übereinstimmungen

Im Bereich der Datenmanipulation kann das Finden einer bestimmten Spalte innerhalb eines Datenrahmens eine häufige Notwendigkeit sein . Was aber, wenn Sie in Spaltennamen nach einem bestimmten Muster suchen müssen, genaue Übereinstimmungen jedoch ignorieren? Wenn Sie beispielsweise Namen wie „Spike-2“, „Hey Spike“ und „Spike-In“ haben und jede Spalte finden möchten, die „Spike“ enthält, kann es sein, dass Sie auf einige Hürden stoßen.

Problem:

Das Identifizieren einer Spalte, deren Name eine bestimmte Zeichenfolge enthält, auch wenn diese nicht exakt übereinstimmt, kann eine Herausforderung sein.

Lösung:

Um dies zu umgehen, verwenden Sie eine umfassende Schleife über die Spalten des Datenrahmens und untersuchen jeden Namen auf die gewünschte Zeichenfolge. Dies kann mit einem Listenverständnis erreicht werden:

<code class="python">[col for col in df.columns if 'spike' in col]</code>

Dieses Snippet generiert eine Liste mit allen Spaltennamen, die die angegebene Bedingung erfüllen.

Beispiel:

Betrachten Sie den folgenden Datenrahmen:

<code class="python">data = {'spike-2': [1,2,3], 'hey spke': [4,5,6], 'spiked-in': [7,8,9], 'no': [10,11,12]}
df = pd.DataFrame(data)
spike_cols = [col for col in df.columns if 'spike' in col]</code>

Ausgabe:

['spike-2', 'spiked-in']

Alternativer Ansatz:

Für eine prägnantere Lösung sollten Sie Folgendes in Betracht ziehen unter Verwendung der Filtermethode:

<code class="python">df2 = df.filter(regex='spike')</code>

Dieser Ansatz führt zu einem Datenrahmen, der nur die Spalten enthält, die die angegebene Regex-Bedingung erfüllen:

   spike-2  spiked-in
0        1          7
1        2          8
2        3          9

Durch die Anwendung dieser Techniken können Sie Spalten effizient abrufen innerhalb eines Datenrahmens, auch wenn ihre Namen nicht genau mit einer gewünschten Zeichenfolge übereinstimmen.

Das obige ist der detaillierte Inhalt vonWie kann ich Spalten mit teilweisen String-Übereinstimmungen in DataFrames effizient abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn