I have a requirement where in I am trying to count the values and Put them in the pivot table.
This is my dataframe,
  Cola        Colb          
 Apple    Rippened 
Orange    Rippened
 Apple  UnRippened
 Mango  UnRippened
I want the Output to be like this,
        Rippened  UnRippened
Apple          1           1
Mango          0           1
Orange         1           0
Kindly share your thoughts.
I love this question....
Option 1
pd.get_dummies(df.Cola).T.dot(pd.get_dummies(df.Colb))
        Rippened  UnRippened
Apple          1           1
Mango          0           1
Orange         1           0
Option 2
i, r = pd.factorize(df.Cola.values)
j, c = pd.factorize(df.Colb.values)
n, m = r.size, c.size
b = np.bincount(i * m + j, minlength=n * m).reshape(n, m)
pd.DataFrame(b, r, c)
        Rippened  UnRippened
Apple          1           1
Orange         1           0
Mango          0           1
Option 3
df.groupby(['Cola', 'Colb']).size().unstack(fill_value=0)
Colb    Rippened  UnRippened
Cola                        
Apple          1           1
Mango          0           1
Orange         1           0
Option 4
df.groupby('Cola').Colb.value_counts().unstack(fill_value=0)
Colb    Rippened  UnRippened
Cola                        
Apple          1           1
Mango          0           1
Orange         1           0
                        Using my favourite: pd.crosstab
df = pd.crosstab(df.Cola, df.Colb)
print(df)
Colb    Rippened  UnRippened
Cola                        
Apple          1           1
Mango          0           1
Orange         1           0
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With