Ich habe einen Pandas Datenrahmen mit der folgenden Struktur (etwa 100 Millionen Zeilen):Verwenden Sie den Date-Time-Index, um Gruppen zu verlangsamen, indem Sie sie in Pandas anwenden?
Date Value ID
'1/1/17' 500 1
'1/2/17' 550 1
'1/4/17' 600 2
Wenn ich tue:
def get_coeff_var(group):
group['coeff_var'] = group['Value'].std()/group['Value'].mean()
return group
df = df.groupby(['ID']).apply(lambda x: get_coeff_var(x))
Es ist extrem schnell abgeschlossen wird.
Aber wenn ich zum ersten Mal des Index auf das Datum und den letzten Monat des Datensatz, dann das gleiche gilt Funktion ein enormes nimmt (dh ich warte nicht einmal kann es zu vollenden) Höhe der Zeit:
df = df.set_index('Date')
df = df.last('1M')
df = df.groupby(['ID']).apply(lambda x: get_coeff_var(x))
Was ist los?