Let's say I have the following data frame:
> myvec name order_no 1 Amy 12 2 Jack 14 3 Jack 16 4 Dave 11 5 Amy 12 6 Jack 16 7 Tom 19 8 Larry 22 9 Tom 19 10 Dave 11 11 Jack 17 12 Tom 20 13 Amy 23 14 Jack 16
I want to count the number of distinct order_no
values for each name
. It should produce the following result:
name number_of_distinct_orders Amy 2 Jack 3 Dave 1 Tom 2 Larry 1
How can I do that?
Count Unique Rows in Pandas DataFrameUsing nunique() method, we can count unique rows in pandas. by default nunique() shows axis=0 that means rows but it can be changed to axis=1.
A data.table
approach
library(data.table) DT <- data.table(myvec) DT[, .(number_of_distinct_orders = length(unique(order_no))), by = name]
data.table
v >= 1.9.5 has a built in uniqueN
function now
DT[, .(number_of_distinct_orders = uniqueN(order_no)), by = name]
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With