If I have a table like this:
df = pd.DataFrame({
         'hID': [101, 102, 103, 101, 102, 104, 105, 101],
         'dID': [10, 11, 12, 10, 11, 10, 12, 10],
         'uID': ['James', 'Henry', 'Abe', 'James', 'Henry', 'Brian', 'Claude', 'James'],
         'mID': ['A', 'B', 'A', 'B', 'A', 'A', 'A', 'C']
})
I can do count(distinct hID) in Qlik to come up with count of 5 for unique hID.  How do I do that in python using a pandas dataframe?  Or maybe a numpy array?  Similarly, if were to do count(hID) I will get 8 in Qlik.  What is the equivalent way to do it in pandas?