Imagine I have a dataframe like the one below, where I am recording each animal I see on each day as a new row.
Day Animal
1 Lion
1 Elephant
1 Giraffe
1 Elephant
2 Elephant
2 Rhino
2 Rhino
2 Lion
2 Elephant
I would like to create a new column that contains 1 for the first animal seen on each day (and each time that same animal is seen that day) and contains 2 for the next animal and so on. The result for the example above should look like this:
Day Animal Number
1 Lion 1
1 Elephant 2
1 Giraffe 3
1 Elephant 2
2 Elephant 1
2 Rhino 2
2 Rhino 2
2 Lion 3
2 Elephant 1
Note that this is a simplified example. I am aware that in this above example, one would likely prefer to use a combination of groupby and count to count occurrences per day (e.g. summing the number of occurrences per day pandas). However, this is not the case in my real world case. I need to number them so I can use those numbers for something else later.