Wie erhalten wir eine bestimmte gefilterte Reihe als Serie?Holen Sie sich bestimmte Reihe als Serie von Pandas Datenrahmen
Beispiel Datenrahmen:
>>> df = pd.DataFrame({'date': [20130101, 20130101, 20130102], 'location': ['a', 'a', 'c']})
>>> df
date location
0 20130101 a
1 20130101 a
2 20130102 c
ich brauche die Zeile auszuwählen, wo location
ist c
als eine Serie.
Ich habe versucht:
row = df[df["location"] == "c"].head(1) # gives a dataframe
row = df.ix[df["location"] == "c"] # also gives a dataframe with single row
In beiden Fällen kann ich nicht die Zeile als Serie.
Dank Boud, das wie ein Wunder wirkt. 'df [df [" location "] ==" c "]. squeeze()' funktioniert auch gut. Kannst du bitte auch erklären was für ein Quetschen das ist? "Squeeze length 1 dimensions" bedeutet, dass es 1 Reihe Ergebnisse in Serie umwandelt? – Pratyush
@ Pratyush Ich aktualisierte die Antwort oben. Ich würde empfehlen, dass Sie Squeeze aufrufen, wenn Sie eine Serie von einem 1D-Datenframe erhalten möchten, was expliziter ist, als Iloc [0] nur für Cast-Zwecke aufzurufen. – Boud
Weiß nicht, welcher ist besser, aber Squeeze wie Pythonic :) +1 für Erklärung –