Python: Konvertiert numerische Daten in Pandas-Datenrahmen in Floats in Gegenwart von Zeichenfolgen

Ich habe einen Pandadatenrahmen mit einer Spalte "Kappe". Diese Spalte besteht hauptsächlich aus Floats, enthält jedoch einige Zeichenfolgen, z. B. bei Index 2.

df =
    cap
0    5.2
1    na
2    2.2
3    7.6
4    7.5
5    3.0
...

Ich importiere meine Daten aus einer CSV-Datei wie folgt:

df = DataFrame(pd.read_csv(myfile.file))

Wenn ich das mache, wird die Spalte 'cap' leider vollständig als Zeichenfolge importiert. Ich möchte, dass Floats als Floats und Strings als Strings identifiziert werden. Versuchen Sie dies zu konvertieren mit:

df['cap'] = df['cap'].astype(float)

wirft einen Fehler auf:

could not convert string to float: na

Gibt es eine Möglichkeit, alle Zahlen in Floats umzuwandeln, aber das 'na' als Zeichenfolge beizubehalten?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage