計算Pandas 中按域分組的不同值
要確定每個域中的唯一用戶ID,您可以使用Pandas 的nunique ()功能。此函數計算指定列中由一個或多個其他列分組的不同值的數量。
在您的情況下,您可以按域對資料進行分組,並使用nunique() 來計算ID 中的唯一值列:
<code class="python">df.groupby('domain')['ID'].nunique()</code>
這將產生一個DataFrame,其中域作為索引,每個域的唯一ID 計數作為值:
domain | count |
---|---|
vk.com | 3 |
twitter.com | 2 |
facebook.com | 1 |
google.com | 1 |
如果您的域值具有前導或尾隨單引號('),您可以在使用str.strip("'" ) 方法進行分組之前刪除它們:
<code class="python">df.groupby(df.domain.str.strip("'"))['ID'].nunique()</code>
或者,您可以使用以下方法在輸出DataFrame 中保留域列名稱: as_index=False 的agg() 函數:
<code class="python">df.groupby(by='domain', as_index=False).agg({'ID': pd.Series.nunique})</code>
此方法傳回一個包含網域列和一個名為ID 的新列的DataFrame,其中包含每個網域的唯一ID 計數。
以上是如何計算 Pandas 中按域分組的不同值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!