回答編集履歴

1

追記

2020/11/20 07:46

投稿

kirara0048
kirara0048

スコア1399

test CHANGED
@@ -69,3 +69,43 @@
69
69
  tarou 1 1 2
70
70
 
71
71
  ```
72
+
73
+
74
+
75
+ なお、`pd.crosstab()`や、pandasバージョン1.1.0以降であれば`value_counts()`メソッドを使う方法もあります(いずれの方法でも、中身でやっていることはほとんど同じです)。
76
+
77
+
78
+
79
+ ```python
80
+
81
+ In [16]: pd.crosstab(df['name'], df['food'])
82
+
83
+ Out[16]:
84
+
85
+ food apple banana orange
86
+
87
+ name
88
+
89
+ hanako 1 1 1
90
+
91
+ jun 0 1 1
92
+
93
+ tarou 1 1 2
94
+
95
+
96
+
97
+ In [17]: df.value_counts().unstack('food', fill_value=0)
98
+
99
+ Out[17]:
100
+
101
+ food apple banana orange
102
+
103
+ name
104
+
105
+ hanako 1 1 1
106
+
107
+ jun 0 1 1
108
+
109
+ tarou 1 1 2
110
+
111
+ ```