在下面的数据框中,通过电子邮件和一次电话联系了亚当两次。如果我使用 sum() 来计算电子邮件的总使用量,我会得到正确的结果:2。但是如果我使用 count(),adam 会得到 3。为什么会发生这种情况?.count() 不区分 True 和 False 布尔值吗?
df = pd.DataFrame ({'Name':['adam','ben','adam','adam','ben'], 'Type' ['Email', 'Phone', 'Email','Phone','Phone']}, index =[0,1,2,3,4])
df.groupby('Name')['Type'].apply(lambda x: x.isin(['Email']).sum())
df.groupby('Name')['Type'].apply(lambda x: x.isin(['Email']).count())
该count
方法的技术定义是计算非缺失值。由于您的所有值都不会丢失,因此它只返回每个组的行数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句