Similar to group-by but meant to perform grouping and aggregation based on parameters provided.
Inspired by https://github.com/sflanaga/csv-groupby
- group by one or more column names
- have either sub commands or parameters for
- count
- sum
- average
- output a table
agg-by
count counts the items in the grouped colum
agg-by column_name --count
agg-by column_name --sum different_column_name
agg-by column_name --avg different_column_name
agg-by [column_name1, column_name2] --count
How it currently works in nushell
❯ open ~/Downloads/movies.csv |
select Lead_Studio Worldwide_Gross |
group-by Lead_Studio --to-table |
upsert items {|r| $r.items.Worldwide_Gross | math sum} |
sort-by items | rename Lead_Studio Worldwide_Gross
╭─#──┬──────Lead_Studio──────┬─Worldwide_Gross─╮
│ 0 │ New Line │ 20.71 │
│ 1 │ The Weinstein Company │ 27.88 │
│ 2 │ CBS │ 77.09 │
│ 3 │ Lionsgate │ 152.59 │
│ 4 │ 20th Century Fox │ 156.75 │
│ 5 │ Paramount │ 321.22 │
│ 6 │ Sony │ 403.12 │
│ 7 │ Fox │ 722.57 │
│ 8 │ Summit │ 1242.26 │
│ 9 │ Independent │ 1546.94 │
│ 10 │ Universal │ 1792.04 │
│ 11 │ Disney │ 2214.50 │
│ 12 │ Warner Bros. │ 2462.14 │
╰─#──┴──────Lead_Studio──────┴─Worldwide_Gross─╯With using the agg command
❯ open ~/Downloads/movies.csv |
agg-by Lead_Studio --sum Worldwide_Gross |
sort-by Worldwide_Gross❯ open ~/Downloads/movies.csv |
select Lead_Studio Worldwide_Gross |
group-by Lead_Studio --to-table |
upsert total {|r| $r.items.Worldwide_Gross | math sum} |
update items {|i| $i.items.Lead_Studio | length} |
sort-by total | rename Lead_Studio count Worldwide_Gross
╭─#──┬──────Lead_Studio──────┬─count─┬─Worldwide_Gross─╮
│ 0 │ New Line │ 1 │ 20.71 │
│ 1 │ The Weinstein Company │ 2 │ 27.88 │
│ 2 │ CBS │ 1 │ 77.09 │
│ 3 │ Lionsgate │ 2 │ 152.59 │
│ 4 │ 20th Century Fox │ 2 │ 156.75 │
│ 5 │ Paramount │ 4 │ 321.22 │
│ 6 │ Sony │ 4 │ 403.12 │
│ 7 │ Fox │ 6 │ 722.57 │
│ 8 │ Summit │ 5 │ 1242.26 │
│ 9 │ Independent │ 19 │ 1546.94 │
│ 10 │ Universal │ 8 │ 1792.04 │
│ 11 │ Disney │ 8 │ 2214.50 │
│ 12 │ Warner Bros. │ 14 │ 2462.14 │
╰─#──┴──────Lead_Studio──────┴─count─┴─Worldwide_Gross─╯❯ open ~/Downloads/movies.csv |
agg-by Lead_Studio --count --sum Worldwide_Gross |
sort-by Worldwide_GrossFilm,Genre,Lead_Studio,Audience_score_%,Profitability,Rotten_Tomatoes_%,Worldwide_Gross,Year
Youth in Revolt,Comedy,The Weinstein Company,52,1.09,68,19.62,2010
You Will Meet a Tall Dark Stranger,Comedy,Independent,35,1.211818182,43,26.66,2010
When in Rome,Comedy,Disney,44,0,15,43.04,2010
What Happens in Vegas,Comedy,Fox,72,6.267647029,28,219.37,2008
Water For Elephants,Drama,20th Century Fox,72,3.081421053,60,117.09,2011
WALL-E,Animation,Disney,89,2.896019067,96,521.28,2008
Waitress,Romance,Independent,67,11.0897415,89,22.18,2007
Waiting For Forever,Romance,Independent,53,0.005,6,0.03,2011
Valentine's Day,Comedy,Warner Bros.,54,4.184038462,17,217.57,2010
Tyler Perry's Why Did I get Married,Romance,Independent,47,3.7241924,46,55.86,2007
Twilight: Breaking Dawn,Romance,Independent,68,6.383363636,26,702.17,2011
Twilight,Romance,Summit,82,10.18002703,49,376.66,2008
The Ugly Truth,Comedy,Independent,68,5.402631579,14,205.30,2009
The Twilight Saga: New Moon,Drama,Summit,78,14.1964,27,709.82,2009
The Time Traveler's Wife,Drama,Paramount,65,2.598205128,38,101.33,2009
The Proposal,Comedy,Disney,74,7.8675,43,314.70,2009
The Invention of Lying,Comedy,Warner Bros.,47,1.751351351,56,32.40,2009
The Heartbreak Kid,Comedy,Paramount,41,2.129444167,30,127.77,2007
The Duchess,Drama,Paramount,68,3.207850222,60,43.31,2008
The Curious Case of Benjamin Button,Fantasy,Warner Bros.,81,1.78394375,73,285.43,2008
The Back-up Plan,Comedy,CBS,47,2.202571429,20,77.09,2010
Tangled,Animation,Disney,88,1.365692308,89,355.01,2010
Something Borrowed,Romance,Independent,48,1.719514286,15,60.18,2011
She's Out of My League,Comedy,Paramount,60,2.4405,57,48.81,2010
Sex and the City Two,Comedy,Warner Bros.,49,2.8835,15,288.35,2010
Sex and the City 2,Comedy,Warner Bros.,49,2.8835,15,288.35,2010
Sex and the City,Comedy,Warner Bros.,81,7.221795791,49,415.25,2008
Remember Me,Drama,Summit,70,3.49125,28,55.86,2010
Rachel Getting Married,Drama,Independent,61,1.384166667,85,16.61,2008
Penelope,Comedy,Summit,74,1.382799733,52,20.74,2008
P.S. I Love You,Romance,Independent,82,5.103116833,21,153.09,2007
Over Her Dead Body,Comedy,New Line,47,2.071,15,20.71,2008
Our Family Wedding,Comedy,Independent,49,0,14,21.37,2010
One Day,Romance,Independent,54,3.682733333,37,55.24,2011
Not Easily Broken,Drama,Independent,66,2.14,34,10.70,2009
No Reservations,Comedy,Warner Bros.,64,3.307180357,39,92.60,2007
Nick and Norah's Infinite Playlist,Comedy,Sony,67,3.3527293,73,33.53,2008
New Year's Eve,Romance,Warner Bros.,48,2.536428571,8,142.04,2011
My Week with Marilyn,Drama,The Weinstein Company,84,0.8258,83,8.26,2011
Music and Lyrics,Romance,Warner Bros.,70,3.64741055,63,145.90,2007
Monte Carlo,Romance,20th Century Fox,50,1.9832,38,39.66,2011
Miss Pettigrew Lives for a Day,Comedy,Independent,70,0.2528949,78,15.17,2008
Midnight in Paris,Romence,Sony,84,8.744705882,93,148.66,2011
Marley and Me,Comedy,Fox,77,3.746781818,63,206.07,2008
Mamma Mia!,Comedy,Universal,76,9.234453864,53,609.47,2008
Mamma Mia!,Comedy,Universal,76,9.234453864,53,609.47,2008
Made of Honor,Comdy,Sony,61,2.64906835,13,105.96,2008
Love Happens,Drama,Universal,40,2.004444444,18,36.08,2009
Love & Other Drugs,Comedy,Fox,55,1.817666667,48,54.53,2010
Life as We Know It,Comedy,Independent,62,2.530526316,28,96.16,2010
License to Wed,Comedy,Warner Bros.,55,1.9802064,8,69.31,2007
Letters to Juliet,Comedy,Summit,62,2.639333333,40,79.18,2010
Leap Year,Comedy,Universal,49,1.715263158,21,32.59,2010
Knocked Up,Comedy,Universal,83,6.636401848,91,219,2007
Killers,Action,Lionsgate,45,1.245333333,11,93.40,2010
Just Wright,Comedy,Fox,58,1.797416667,45,21.57,2010
Jane Eyre,Romance,Universal,77,0,85,30.15,2011
It's Complicated,Comedy,Universal,63,2.642352941,56,224.60,2009
I Love You Phillip Morris,Comedy,Independent,57,1.34,71,20.10,2010
High School Musical 3: Senior Year,Comedy,Disney,76,22.91313646,65,252.04,2008
He's Just Not That Into You,Comedy,Warner Bros.,60,7.1536,42,178.84,2009
Good Luck Chuck,Comedy,Lionsgate,61,2.36768512,3,59.19,2007
Going the Distance,Comedy,Warner Bros.,56,1.3140625,53,42.05,2010
Gnomeo and Juliet,Animation,Disney,52,5.387972222,56,193.97,2011
Gnomeo and Juliet,Animation,Disney,52,5.387972222,56,193.97,2011
Ghosts of Girlfriends Past,Comedy,Warner Bros.,47,2.0444,27,102.22,2009
Four Christmases,Comedy,Warner Bros.,52,2.022925,26,161.83,2008
Fireproof,Drama,Independent,51,66.934,40,33.47,2008
Enchanted,Comedy,Disney,80,4.005737082,93,340.49,2007
Dear John,Drama,Sony,66,4.5988,29,114.97,2010
Beginners,Comedy,Independent,80,4.471875,84,14.31,2011
Across the Universe,romance,Independent,84,0.652603178,54,29.37,2007
A Serious Man,Drama,Universal,64,4.382857143,89,30.68,2009
A Dangerous Method,Drama,Independent,89,0.44864475,79,8.97,2011
27 Dresses,Comedy,Fox,71,5.3436218,40,160.31,2008
(500) Days of Summer,comedy,Fox,81,8.096,87,60.72,2009