Bode
Bode

Reputation: 529

dataframe transformation python

I am new to pandas. I have dataframe,df with 3 columns:(date),(name) and (count).

Given each day: is there an easy way to create a new dataframe from original one that contains new columns representing the unique names in the original (name column) and their respective count values in the correct columns?

   date        name   count
0  2017-08-07  ABC      12
1  2017-08-08  ABC      5
2  2017-08-08  TTT      6
3  2017-08-09  TAC      5
4  2017-08-09  ABC      10

It should now be

   date        ABC     TTT    TAC 
0  2017-08-07  12       0      0
1  2017-08-08  5        6      0
3  2017-08-09  10       0      5

Upvotes: 0

Views: 64

Answers (1)

J. Doe
J. Doe

Reputation: 3634

df = pd.DataFrame({"date":["2017-08-07","2017-08-08","2017-08-08","2017-08-09","2017-08-09"],"name":["ABC","ABC","TTT","TAC","ABC"], "count":["12","5","6","5","10"]})
df = df.pivot(index='date', columns='name', values='count').reset_index().fillna(0)

Upvotes: 2

Related Questions