I have a DF in Pandas, which looks like:
Letters Numbers A 1 A 3 A 2 A 1 B 1 B 2 B 3 C 2 C 2
You can groupby these two columns and then calculate the sizes of the groups:
In [16]: df.groupby(['Letters', 'Numbers']).size() Out[16]: Letters Numbers A 1 2 2 1 3 1 B 1 1 2 1 3 1 C 2 2 dtype: int64
To get a DataFrame like in your example output, you can reset the index with reset_index.
reset_index