s = pd.DataFrame([['2012','A',3],['2012','B',8],['2011','A',20],['2011','B',30]], columns=['Year','Manager','Return'])
Out[1]:
Year Manager Return
0 2012 A 3
1 2012 B 8
2 2011 A 20
3 2011 B 30
Vorrei creare un grado per anno. Quindi, nel 2012, Manager B è 1. Nel 2011, Manager B è di nuovo 1.python panda rank per colonna
Ho lottato con la funzione di classificazione dei panda per un po 'e NON voglio ricorrere ad un ciclo for.
Il problema che sto avendo è con il codice addizionale (non ha ancora pensare che questo sarebbe rilevante prima):
s = pd.DataFrame([['2012', 'A', 3], ['2012', 'B', 8], ['2011', 'A', 20], ['2011', 'B', 30]], columns=['Year', 'Manager', 'Return'])
b = pd.DataFrame([['2012', 'A', 3], ['2012', 'B', 8], ['2011', 'A', 20], ['2011', 'B', 30]], columns=['Year', 'Manager', 'Return'])
s= s.append(b)
s['Rank'] = s.groupby(['Year'])['Return'].rank(ascending=False)
raise Exception('Reindexing only valid with uniquely valued Index '
Exception: Reindexing only valid with uniquely valued Index objects
Tutte le idee?
Questa è la vera struttura dati che sto usando. avuto problemi reindicizzazione ..
@ user2514296 questo sembra giusto, non è sicuro che cosa pensi sia "off" ... –
Il problema che sto avendo è con il codice aggiuntivo (didnt penso che questo sarebbe rilevante prima): – Ben