Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich einen Pandas DataFrame aus einer Textdatei mit einer bestimmten Struktur erstellen, die Zustands- und Regionsmuster enthält?
Das Erstellen eines Pandas DataFrame aus einer Textdatei mit einer bestimmten Struktur erfordert strategische Datenmanipulation. Lassen Sie uns das Problem untersuchen und eine Lösung finden, um den bereitgestellten Text in den gewünschten DataFrame umzuwandeln.
Die Textdatei folgt einer hierarchischen Struktur, wobei:
Lesen Sie zunächst die Textdatei und erstellen Sie einen DataFrame mit read_csv(). Da es keine spezifischen Trennzeichen gibt, geben Sie ein benutzerdefiniertes Trennzeichen an, das in den Daten nicht vorhanden ist, z. B. ein Semikolon:
<code class="python">df = pd.read_csv('filename.txt', sep=";", names=['Region Name'])</code>
Identifizieren Sie die Zeilen mit Staatsnamen mithilfe der Methode str.extract() und regulären Ausdrücken, um den Staatsnamen bis zu „[bearbeiten]“ zu erfassen. Erstellen Sie eine neue Spalte namens „State“ mit diesen Werten:
<code class="python">df.insert(0, 'State', df['Region Name'].str.extract('(.*)\[edit\]', expand=False).ffill())</code>
Entfernen Sie die Klammern und alle darin eingeschlossenen Zeichen aus der Spalte „Regionsname“:
<code class="python">df['Region Name'] = df['Region Name'].str.replace(r' \(.+$', '')</code>
Löschen Sie die Zeilen, in denen „[bearbeiten]“ in der Spalte „Regionsname“ erscheint. Erstellen Sie eine Maske mit str.contains():
<code class="python">df = df[~df['Region Name'].str.contains('\[edit\]')].reset_index(drop=True)</code>
Zu diesem Zeitpunkt haben Sie je nach Bedarf einen DataFrame mit den Spalten „Bundesstaat“ und „Regionsname“.
<code class="python">print(df)</code>
Wenn Sie Fügen Sie den Text in Klammern lieber in die Spalte „Regionsname“ ein. Hier ist eine modifizierte Lösung:
<code class="python">df.insert(0, 'State', df['Region Name'].str.extract('(.*)\[edit\]', expand=False).ffill()) df = df[~df['Region Name'].str.contains('\[edit\]')].reset_index(drop=True) print(df)</code>
Dadurch wird ein DataFrame mit erstellt Spalten „Bundesstaat“ und „Regionsname“, wobei die Regionsnamen den Text in Klammern enthalten.
Das obige ist der detaillierte Inhalt vonWie kann ich einen Pandas DataFrame aus einer Textdatei mit einer bestimmten Struktur erstellen, die Zustands- und Regionsmuster enthält?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!