计算 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中文网其他相关文章!