Come si ottiene una determinata riga filtrata come serie?Ottieni righe particolari come serie da dataframe panda
Esempio dataframe:
>>> df = pd.DataFrame({'date': [20130101, 20130101, 20130102], 'location': ['a', 'a', 'c']})
>>> df
date location
0 20130101 a
1 20130101 a
2 20130102 c
devo selezionare la riga dove è location
c
come una serie.
Ho provato:
row = df[df["location"] == "c"].head(1) # gives a dataframe
row = df.ix[df["location"] == "c"] # also gives a dataframe with single row
In entrambi i casi non posso la riga come serie.
Grazie Boud che funziona come un miracolo. 'df [df [" location "] ==" c "]. squeeze()' anche funziona bene. Puoi per favore spiegare anche cosa fa la compressione? "spremere lunghezza 1 dimensioni" significa che converte i risultati di 1 riga in serie? – Pratyush
@Pratyush Ho aggiornato la risposta sopra. Ti consiglio di chiamare squeeze perché vuoi ottenere una serie da un frame di dati 1D, il che rende più esplicito che chiamare iloc [0] solo per scopi cast. – Boud
Non so quale sia il migliore, ma stringi come pitonico :) +1 per spiegazione –