Ich versuche, eine Spalte in einem Datenrahmen durchlaufen, und erstellen Sie eine neue Spalte mit Teilstrings aus der Schleife Spalte, wenn es einen Wert in einem Wörterbuch enthält. Genauer gesagt, wenn die einzelne Zeile in der Adressspalte einen Zustand im Verzeichnis der Zustandsnamen und Abkürzungen enthält, fügen Sie die Zustandsabkürzung an eine Liste an, die zur neuen Spalte wird.Looping durch Datenframe zum Extrahieren von Teilstrings, die Wörterbuch passen
Der Code unten arbeitet für die vollständige Übereinstimmungen, aber scannt nicht die Zeilen für Teil:
import pandas as pd
df = pd.DataFrame((['Austin, Texas',
'Texas',
'Seattle, Washington',
',,, Texas',
'Olympia, WA']), columns = ['Place'])
states = {'Texas': 'TX',
'Washington': 'WA'}
place = df['Place']
results = []
for x in place:
if x in states:
results.append(x)
else:
results.append(None)
df['State'] = results
df
Dank!
Das macht den Trick, vielen Dank! – MuirSalt
Ich habe vergessen zu fragen, wie würden Sie eine Nicht-Liste mit diesem zurückgeben? Ich glaube nicht, dass ich New York, New York in meinen Daten habe, also sollte es kein Problem für mich sein. – MuirSalt
Sorry, ein Schädling zu sein, aber ich bekomme eine "Name" -Zelle "ist nicht definiert" Fehler? Eine schnelle Google-Suche schien nichts zu ziehen? – MuirSalt