2017-07-02 51 views
0

在下面的數據框中,adam通過電子郵件和電話聯繫過兩次。如果我使用sum()來計算總的電子郵件用法,我會得到正確的結果:2. 但是,如果我使用count(),則adam會得到3. 爲什麼會發生這種情況? .count()沒有區分True和False Booleans嗎?熊貓數據框混淆.count和.sum之間的差異

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()) 

回答

2

count方法的技術定義是計算非缺失值。由於所有的值都是不存在的,它只是返回每個組的行數。

+0

謝謝泰德。我在pydata.org上看到Count會返回一個包含非NA/null觀察值的序列。我不知道那是否意味着非缺失值。謝謝。 –

相關問題