Gre*_*urm 7 python group-by pivot-table crosstab pandas
这一点必须明显,但我找不到一个简单的解决方案.
我有像这样的pandas DataFrame:
actual | predicted
------ + ---------
Apple | Apple
Apple | Apple
Apple | Banana
Banana | Orange
Orange | Apple
Run Code Online (Sandbox Code Playgroud)
我要这个:
| Apple | Banana | Orange
------ + ------- + ------- + -------
Apple | 2 | 1 | 0
Banana | 0 | 0 | 1
Orange | 1 | 0 | 0
Run Code Online (Sandbox Code Playgroud)
jez*_*ael 11
您可以使用groupby聚合size和:unstack MultiIndex
df = df.groupby(['actual','predicted']).size().unstack(fill_value=0)
print (df)
predicted Apple Banana Orange
actual
Apple 2 1 0
Banana 0 0 1
Orange 1 0 0
Run Code Online (Sandbox Code Playgroud)
另一个解决方案crosstab:
df = pd.crosstab(df.actual, df.predicted)
print (df)
predicted Apple Banana Orange
actual
Apple 2 1 0
Banana 0 0 1
Orange 1 0 0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3403 次 |
| 最近记录: |