Heim  >  Artikel  >  Backend-Entwicklung  >  Wie extrahiere ich Zahlen aus nicht numerischen Zeichenfolgen in Pandas?

Wie extrahiere ich Zahlen aus nicht numerischen Zeichenfolgen in Pandas?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-24 14:15:02648Durchsuche

How to Extract Numbers from Non-Numeric Strings in Pandas?

Pandas: Zahlen aus Zeichenfolgen extrahieren

Bei der Arbeit mit Datenrahmen in Pandas ist es oft notwendig, numerische Informationen aus Zellen zu extrahieren, die keine enthalten -numerische Zeichen. Dies kann eine Herausforderung sein, aber Pandas bietet mehrere Methoden, die Ihnen dabei helfen.

Verwenden von str.extract() zur Zahlenextraktion

Eine effektive Methode zum Extrahieren von Zahlen aus Zeichenfolgen ist str.extract(). Mit dieser Methode können Sie ein reguläres Ausdrucksmuster angeben, das die numerischen Daten definiert, die Sie erfassen möchten.

Beachten Sie den folgenden Datenrahmen:

<code class="python">import pandas as pd
import numpy as np
df = pd.DataFrame({'A':['1a',np.nan,'10a','100b','0b'],
                   })
print(df)</code>

Ausgabe:

    A
0   1a
1   NaN
2   10a
3   100b
4   0b

Um die Zahlen aus jeder Zelle zu extrahieren, können Sie den folgenden regulären Ausdruck verwenden:

<code class="python">df.A.str.extract('(\d+)')</code>

Das Regex-Muster (d) erfasst jede Folge einer oder mehrerer Ziffern. Die Klammern um das Muster erstellen eine Erfassungsgruppe, die verwendet wird, um den übereinstimmenden Teil der Zeichenfolge zurückzugeben.

Ausgabe:

0      1
1    NaN
2     10
3    100
4      0
Name: A, dtype: object

Wie Sie sehen können, wurden die gewünschten Zahlen erfolgreich eingegeben aus jeder Zelle extrahiert, auch aus solchen, die nicht numerische Zeichen enthielten. Beachten Sie, dass diese Methode nur für ganze Zahlen und nicht für Gleitkommazahlen funktioniert.

Das obige ist der detaillierte Inhalt vonWie extrahiere ich Zahlen aus nicht numerischen Zeichenfolgen in Pandas?. 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