To musi być oczywiste, ale nie mogłem znaleźć łatwego rozwiązania.Pandasowa ramka danych do macierzy zliczeń
mam pandy DataFrame takiego:
actual | predicted
------ + ---------
Apple | Apple
Apple | Apple
Apple | Banana
Banana | Orange
Orange | Apple
Chcę to:
| Apple | Banana | Orange
------ + ------- + ------- + -------
Apple | 2 | 1 | 0
Banana | 0 | 0 | 1
Orange | 1 | 0 | 0
akceptuje dla 'crosstab'. Unstacking size() wydaje się trochę dla mnie hackerem. –
Dziękujemy za przyjęcie! Pierwsze rozwiązanie jest szybsze, ale zgadzam się, że to trochę hack. – jezrael
'W [142]:% timeit pd.crosstab (df.actual, df.predicted) 100 pętli, najlepiej 3: 5,04 ms na pętlę' i ' W [143]:% timeit df.groupby ([ 'actual', 'predicted']). size(). unstack (fill_value = 0) 1000 pętli, najlepiej 3: 1,28 ms na pętlę ' – jezrael