'Setting title after aggregation

I am trying to aggregate and count values together. Below you can see my dataset

data = {'id':['1','2','3','4','5'],
        'name': ['Company1', 'Company1', 'Company3', 'Company3', 'Company5'], 
        'sales': [10, 3, 5, 1, 0], 
        'income': [10, 3, 5, 1, 0], 
       }
df = pd.DataFrame(data, columns = ['id','name', 'sales','income'])

conditions = [
    (df['sales'] < 1),
    (df['sales'] >= 1) & (df['sales'] < 3),
    (df['sales'] >= 3) & (df['sales'] < 5),
    (df['sales'] >= 5)
    ]


values = ['<1', '1-3', '3-5', '>= 5']

df['range'] = np.select(conditions, values)

df=df.groupby('range')['sales','income'].agg(['count','sum']).reset_index()   

This code gives me the next table

enter image description here

But I am not satisfied with the appearance of this table because 'count' is duplicated two times. So can anybody help me with this table in order to have separate columns 'range', 'count', 'income' and 'sales'.



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source