在下面的数据框中,adam通过电子邮件和电话联系了两次。如果我使用sum()来计算电子邮件总使用次数,我会得到正确的结果:2。 但如果我使用count(),adam得到3。 为什么会这样? .count()不区分真假布尔值吗?
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())