I have DataFrame with columns author (with name of author), hour(when author published the topic) and number_of_topics (how many topics each author published an hour). Here is an example:
  author hour number_of_topics
0      A  h01                1
1      B  h02                4
2      B  h04                2
3      C  h04                6
4      A  h05                8
5      C  h05                3
My goal is create six columns (for first six hours) and fill them with number of topics. I am tried using df.groupby to do this but did not succeed.
Desired output:
  author h01 h02 h03 h04 h05 h06
0      A   1   0   0   0   8   0
1      B   0   4   0   2   0   0
2      C   0   0   0   6   3   0 
Code to create my DataFrame:
import pandas as pd
df = pd.DataFrame({"author":["A","B", "B","C","A","C"],
                   "hour":["h01","h02","h04","h04","h05","h05"],
                   "number_of_topics":["1","4","2","6","8","3"]})
print(df)
 
     
    