Home >Backend Development >Python Tutorial >How to Count Distinct Values Grouped by Domain in Pandas?
Counting Distinct Values Grouped by Domain in Pandas
To determine the unique user IDs within each domain, you can utilize Pandas' nunique() function. This function counts the number of distinct values in a specified column grouped by one or more other columns.
In your case, you can group the data by domain and use nunique() to count the unique values in the ID column:
<code class="python">df.groupby('domain')['ID'].nunique()</code>
This will produce a DataFrame with the domains as the index and the count of unique IDs for each domain as the values:
domain | count |
---|---|
vk.com | 3 |
twitter.com | 2 |
facebook.com | 1 |
google.com | 1 |
If your domain values have leading or trailing single quotes ('), you can remove them before grouping using the str.strip("'") method:
<code class="python">df.groupby(df.domain.str.strip("'"))['ID'].nunique()</code>
Alternatively, you can retain the domain column name in the output DataFrame by using the agg() function with as_index=False:
<code class="python">df.groupby(by='domain', as_index=False).agg({'ID': pd.Series.nunique})</code>
This approach returns a DataFrame with the domain column and a new column named ID that contains the counts of unique IDs for each domain.
The above is the detailed content of How to Count Distinct Values Grouped by Domain in Pandas?. For more information, please follow other related articles on the PHP Chinese website!