如果我有这样一张桌子:
df=pd.DataFrame({
"hID":[101,102,103,101,102,104,105,101],,
“dID”:[10,11,12,10,11,10,12,10],
“uID”:[“詹姆斯”、“亨利”、“亚伯”、“詹姆斯”、“亨利”、“布莱恩”、“克劳德”、“詹姆斯”],
“mID”:[“A”、“B”、“A”、“B”、“A”、“A”、“A”、“C”]
})
我可以在Qlik中执行count(distinct hID),为唯一的hID计算出5的计数。如何在python中使用熊猫数据帧来实现这一点?或者是一个numpy阵列?类似地,如果我们做count(hID)Qlik中我会得到8。在熊猫身上做这件事的等效方法是什么
计算不同的值,使用nunique:
df['hID'].nunique()
5.
仅计数非空值,使用Count:
df['hID'].count()
8.
计算包括空值在内的总值,使用size属性:
df['hID'].大小
8.
编辑以添加条件
使用布尔索引:
df.loc[df['mID']='A','hID'].agg(['nunique','count','size'])
或使用查询:
df.query('mID=='A";')['hID'].agg(['nunique','count','size']))
输出:
nunique 5
数到五
5号
名称:hID,数据类型:int64