2013-02-22 10 views
5

Sto tentando di ordinare un DataFrame (asse = 0) da un'altra Serie ordinata in un ordine specifico.Panda: utilizzo di pd.Series per ordinare un pd.DataFrame con indice

Esempio: dataframe contiene un indice di CountryCodes: 'AUS', 'BWA' .... (in ordine alfabetico) Serie contiene un elenco di CountryCodes ed è associato PIL (ordinati per PIL)

I è possibile utilizzare DataFrame.join (Series) senza problemi e quindi ordinare la colonna "GDP" e quindi del DF ["GDP"] ma esiste un modo per farlo direttamente senza unirsi alle strutture?

+0

Si dovrebbe fornire una breve campione df, serie, e risultato desiderato insieme ad un codice che descrive ciò che hai già provato. –

risposta

4

È possibile reindex dall'indice della serie (ordinate):

In [1]: df = pd.DataFrame([[1, 2], [3, 4]], index=list('ab')) 

In [2]: s = pd.Series([2,1], index=list('ab')) 

In [3]: s 
Out[3]: 
a 2 
b 1 

In [4]: s.sort() 

In [5]: df.reindex(s.index) 
Out[5]: 
    0 1 
b 3 4 
a 1 2 
Problemi correlati