I have DataFrame like below:
df = pd.DataFrame([
("i", 1, 'GlIrbixGsmCL'),
("i", 1, 'GlIrbixGsmCL'),
("i", 1, '3IMR1UteQA'),
("c", 1, 'GlIrbixGsmCL'),
("i", 2, 'GlIrbixGsmCL'),
], columns=['type', 'cid', 'userid'])
For more details:
i_counts, c_counts => df.groupby(["cid","type"]).size()
i_ucounts, c_ucounts => df.groupby(["cid","type"])["userid"].nunique()
i_frequency,u_frequency => df.groupby(["cid","type"])["userid"].value_counts()
Looks it's a little complex for me, how to do with pandas to get the expected result?

