我有一个像这样的pandas DataFrame:
我想要这个。
actual | predicted
------ + ---------
Apple | Apple
Apple | Apple
Apple | Banana
Banana | Orange
Orange | Apple
我想要这个。
| Apple | Banana | Orange
------ + ------- + ------- + -------
Apple | 2 | 1 | 0
Banana | 0 | 0 | 1
Orange | 1 | 0 | 0
size()
进行反叠操作似乎有点像 hack。 - Gregor SturmIn [142]: %timeit pd.crosstab(df.actual, df.predicted) 100 loops, best of 3: 5.04 ms per loop
andIn [143]: %timeit df.groupby(['actual','predicted']).size().unstack(fill_value=0) 1000 loops, best of 3: 1.28 ms per loop
- jezraelcrosstab
的内部机制,会发现很多相似之处。 - piRSquaredcrosstab
比较慢。但我认为函数的实现有所不同。 - jezraelgroupby()
的解决方案,因为它允许我使用sum()
而不是size()
,而crosstab()
解决方案则不行。谢谢! - tommy.carstensen