Mi sono imbattuto in uno strano risultato mentre giocavo con Pandas e non sono sicuro del perché questo avrebbe funzionato in questo modo. Mi chiedo se è un bug.Panda - Categoria variabile e raggruppa per - è un bug?
cf = pd.DataFrame({'sc': ['b' , 'b', 'c' , 'd'], 'nn': [1, 2, 3, 4], 'mvl':[10, 20, 30, 40]})
df = cf.groupby('sc').mean()
df.loc['b', 'mvl']
Questo dà "15,0" come risultato.
cf1 = cf
cf1['sc'] = cf1['sc'].astype('category', categories=['b', 'c', 'd'], ordered = True)
df1 = cf1.groupby('sc').mean()
df1.loc['b','mvl']
Questo dà come risultato una Serie:
sc
b 15.0
Name: mvl, dtype: float64
type(df1.loc['b','mvl'])
->pandas.core.series.Series
type(df.loc['b','mvl'])
->numpy.float64
Perché sarebbe dichiarare la variabile come cambiamento categorica l'uscita del loc da uno scalare ad una serie?
Spero non sia una domanda stupida. Grazie!
Versione corrente '0.18.1', ottengo' 15.0' di 'numpy.float64' restituito per entrambi i casi. – tmthydvnprt
Sono in esecuzione 0.18.0, pensavo di eseguire l'ultima versione. Grazie mille per il controllo con 0.18.1, aggiornerò e rimuoverò la brutta correzione che ho dovuto aggiungere per rendere il comportamento coerente. – Luk17