How can I count the 1’s and 0’s in column [1] per unique class in column [0]?
labels = []
estimator = est.fit(X.iloc[:,1:])
labels.append(estimator.labels_)
labels.append(O)
labels = pd.DataFrame(np.array(labels).transpose())
labels.iloc[:,1] = (labels.iloc[:,1] > 5).astype(int) # Binary GOS-E
x = np.array(labels.iloc[:,1]).reshape(-1, 1)
y = np.array(labels.iloc[:,0])
>Solution :
df.groupby may suit your needs.
Group by class in column 0, and aggregate using ‘sum’, which works because only 1s will be ‘counted’
df.groupby(df.iloc[:,0]).agg('sum') or df.groupby(df.iloc[:,0]).sum() should work. You can also use df['name of column 0'] instead of df.iloc[:,0].