How to generate a output like this?
Using the example dataframe provided by@JahKnows:

import pandas as pd

df = pd.DataFrame(data={'shopify_customer_id': [1,1,2,3,4,5], 
                        'financial_status': ['paid', 'refunded', 'paid', 'refunded','paid', 'paid'],
                        'count': [8, 1, 13, 1, 1, 1], 
                        'order_amt': [19, 19, 0, 19, 0, 24]})   


You could also do the following:

df=df.groupby(['shopify_customer_id','financial_status']).sum().unstack()
df.columns = ['_'.join(col).strip() for col in df.columns.values]
df.reset_index(inplace=True)
df.fillna(0,inplace=True)


That gives you this (if this is what you intend to have!):

   shopify_customer_id  count_paid  count_refunded  order_amt_paid  order_amt_refunded
0                    1         8.0             1.0            19.0                19.0
1                    2        13.0             0.0             0.0                 0.0
2                    3         0.0             1.0             0.0                19.0
3                    4         1.0             0.0             0.0                 0.0
4                    5         1.0             0.0            24.0                 0.0