I have a dataframe like this:
This is the final dataframe that I want:
I know I can use groupby to count, but it only gives me the total number. How can I break down into the count per 'True' and 'False'. and arrange like this?
I have a dataframe like this:
This is the final dataframe that I want:
I know I can use groupby to count, but it only gives me the total number. How can I break down into the count per 'True' and 'False'. and arrange like this?
 
    
     
    
    import pandas as pd
data = [['a', 'TRUE'], ['a', 'FALSE'], ['a', 'TRUE'], ['b', 'TRUE'], ['b', 'TRUE'], ['b', 'TRUE'],
    ['b', 'FALSE'], ['c', 'TRUE'], ['c', 'TRUE']]
df = pd.DataFrame(data, columns=['ID', 'PASS'])
df['value'] = 1
result = df.pivot_table(values='value', index='ID', columns='PASS', aggfunc='sum', fill_value=0)
result['Total'] = result.agg(sum, axis=1)
result
PASS    FALSE   TRUE    Total
ID          
a   1   2   3
b   1   3   4
c   0   2   2
