From 849df3893e8b186d78200044fae64dad0a24ea72 Mon Sep 17 00:00:00 2001 From: Bhard27 Date: Mon, 22 Feb 2021 11:47:46 +0530 Subject: [PATCH 01/14] Updated the comparison with spreadsheets with GroupBy --- doc/source/_static/spreadsheets/group-by.png | Bin 0 -> 16134 bytes .../comparison_with_spreadsheets.rst | 42 ++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 doc/source/_static/spreadsheets/group-by.png diff --git a/doc/source/_static/spreadsheets/group-by.png b/doc/source/_static/spreadsheets/group-by.png new file mode 100644 index 0000000000000000000000000000000000000000..984d4e55df33db6853a51d9fcbad88c59a7e5742 GIT binary patch literal 16134 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 bM(&X)dD7meeW&w+Q)fRh0XY literal 0 HcmV?d00001 diff --git a/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst b/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst index 55f999c099e23..f90f6cd07b3e0 100644 --- a/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst +++ b/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst @@ -365,6 +365,48 @@ In Excel, there are `merging of tables can be done through a VLOOKUP * It will include all columns from the lookup table, instead of just a single specified column * It supports :ref:`more complex join operations ` +GroupBy +-------------------- + +In Excel, this can be done by using the Query Editor. +You can group the values in various rows into a single value by grouping the rows according to the values in one or more columns +Then using the Query Editor ribbon, Right-click the column header that you want to group on, +and click `Group By `_. + +Power Query has two types of Group By operations: + +* Aggregate a column with an aggregate function +* Perform a row operation + +To aggregate a column, select the column to perform the Aggregate Operation on from the Column drop-down. +A Row Operation does not require a Column, since data is grouped based on table rows. + +.. image:: ../../_static/spreadsheets/group-by.png + +The equivalent in pandas: +We can use the `Group By `_ operation. +For example - + +.. ipython:: python + + df = pd.DataFrame( + [ + ("bird", "Falconiformes", 389.0), + ("bird", "Psittaciformes", 24.0), + ("mammal", "Carnivora", 80.2), + ("mammal", "Primates", np.nan), + ("mammal", "Carnivora", 58), + ], + index=["falcon", "parrot", "lion", "monkey", "leopard"], + columns=("class", "order", "max_speed"), + ) + df + + # default is axis=0 + grouped = df.groupby("class") + grouped = df.groupby("order", axis="columns") + grouped = df.groupby(["class", "order"]) + Other considerations -------------------- From 24375f5c1e5e860c9ca3d32f87d6597d0fbf3b7b Mon Sep 17 00:00:00 2001 From: Bhard27 Date: Mon, 22 Feb 2021 12:26:43 +0530 Subject: [PATCH 02/14] removed trailing whitespaces --- .../comparison/comparison_with_spreadsheets.rst | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst b/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst index f90f6cd07b3e0..523fbd643bb41 100644 --- a/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst +++ b/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst @@ -378,7 +378,7 @@ Power Query has two types of Group By operations: * Aggregate a column with an aggregate function * Perform a row operation -To aggregate a column, select the column to perform the Aggregate Operation on from the Column drop-down. +To aggregate a column, select the column to perform the Aggregate Operation on from the Column drop-down. A Row Operation does not require a Column, since data is grouped based on table rows. .. image:: ../../_static/spreadsheets/group-by.png @@ -407,7 +407,6 @@ For example - grouped = df.groupby("order", axis="columns") grouped = df.groupby(["class", "order"]) - Other considerations -------------------- From 56fc085aa9a695373ad2e4e93ff5527a8607de8f Mon Sep 17 00:00:00 2001 From: Bhard27 Date: Mon, 22 Feb 2021 13:21:55 +0530 Subject: [PATCH 03/14] duplicate names removed --- .../getting_started/comparison/comparison_with_spreadsheets.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst b/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst index 523fbd643bb41..2f59c5bfb6acb 100644 --- a/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst +++ b/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst @@ -384,7 +384,7 @@ A Row Operation does not require a Column, since data is grouped based on table .. image:: ../../_static/spreadsheets/group-by.png The equivalent in pandas: -We can use the `Group By `_ operation. +We can use the `Group By operation `_ . For example - .. ipython:: python From 750e9fc35177b1816aa39a63f0961b2e40ca28e1 Mon Sep 17 00:00:00 2001 From: Bhard27 Date: Wed, 24 Feb 2021 11:54:37 +0530 Subject: [PATCH 04/14] Changed the length same as the label --- .../getting_started/comparison/comparison_with_spreadsheets.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst b/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst index 2f59c5bfb6acb..83e2e1d53303b 100644 --- a/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst +++ b/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst @@ -366,7 +366,7 @@ In Excel, there are `merging of tables can be done through a VLOOKUP * It supports :ref:`more complex join operations ` GroupBy --------------------- +------- In Excel, this can be done by using the Query Editor. You can group the values in various rows into a single value by grouping the rows according to the values in one or more columns From 063f3c945a4a5fac62143141db5c01e6280f584a Mon Sep 17 00:00:00 2001 From: Bhard27 Date: Wed, 24 Feb 2021 15:45:52 +0530 Subject: [PATCH 05/14] linkedin query editor docs and illustrated example --- .../comparison/comparison_with_spreadsheets.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst b/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst index 83e2e1d53303b..50b2873f38371 100644 --- a/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst +++ b/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst @@ -368,9 +368,9 @@ In Excel, there are `merging of tables can be done through a VLOOKUP GroupBy ------- -In Excel, this can be done by using the Query Editor. +In Excel, this can be done by using the `Query Editor `_. You can group the values in various rows into a single value by grouping the rows according to the values in one or more columns -Then using the Query Editor ribbon, Right-click the column header that you want to group on, +Then using the `Query Editor ribbon ` , Right-click the column header that you want to group on, and click `Group By `_. Power Query has two types of Group By operations: From 94caaf7267614ddb4673e2e8d301253637b2725e Mon Sep 17 00:00:00 2001 From: Bhard27 Date: Wed, 24 Feb 2021 16:02:57 +0530 Subject: [PATCH 06/14] fixed pre commit error --- .../getting_started/comparison/comparison_with_spreadsheets.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst b/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst index 50b2873f38371..91e41f1f4c0b9 100644 --- a/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst +++ b/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst @@ -370,7 +370,7 @@ GroupBy In Excel, this can be done by using the `Query Editor `_. You can group the values in various rows into a single value by grouping the rows according to the values in one or more columns -Then using the `Query Editor ribbon ` , Right-click the column header that you want to group on, +Then using the `Query Editor ribbon `_, Right-click the column header that you want to group on, and click `Group By `_. Power Query has two types of Group By operations: From c1bec5c230afd02d169c6c889864a5360c1558a1 Mon Sep 17 00:00:00 2001 From: Pranjal Bhardwaj <50989807+Bhard27@users.noreply.github.com> Date: Sun, 28 Feb 2021 23:57:26 +0530 Subject: [PATCH 07/14] Update doc/source/getting_started/comparison/comparison_with_spreadsheets.rst Co-authored-by: Aidan Feldman --- .../getting_started/comparison/comparison_with_spreadsheets.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst b/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst index 91e41f1f4c0b9..a8d73302a375b 100644 --- a/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst +++ b/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst @@ -384,7 +384,7 @@ A Row Operation does not require a Column, since data is grouped based on table .. image:: ../../_static/spreadsheets/group-by.png The equivalent in pandas: -We can use the `Group By operation `_ . +We can use :meth:`~DataFrame.groupby`. For example - .. ipython:: python From d3bd0fe7dc58eb423ed0fd2e29a98968ec769b38 Mon Sep 17 00:00:00 2001 From: Bhard27 Date: Mon, 1 Mar 2021 02:21:14 +0530 Subject: [PATCH 08/14] updated docs based on the comments --- .../comparison_with_spreadsheets.rst | 34 ++++--------------- 1 file changed, 6 insertions(+), 28 deletions(-) diff --git a/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst b/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst index 91e41f1f4c0b9..cbceb5e3f7b4e 100644 --- a/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst +++ b/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst @@ -369,43 +369,21 @@ GroupBy ------- In Excel, this can be done by using the `Query Editor `_. -You can group the values in various rows into a single value by grouping the rows according to the values in one or more columns -Then using the `Query Editor ribbon `_, Right-click the column header that you want to group on, -and click `Group By `_. - -Power Query has two types of Group By operations: - -* Aggregate a column with an aggregate function -* Perform a row operation - -To aggregate a column, select the column to perform the Aggregate Operation on from the Column drop-down. -A Row Operation does not require a Column, since data is grouped based on table rows. .. image:: ../../_static/spreadsheets/group-by.png The equivalent in pandas: -We can use the `Group By operation `_ . +We can use :meth:`~DataFrame.groupby`. For example - .. ipython:: python - df = pd.DataFrame( - [ - ("bird", "Falconiformes", 389.0), - ("bird", "Psittaciformes", 24.0), - ("mammal", "Carnivora", 80.2), - ("mammal", "Primates", np.nan), - ("mammal", "Carnivora", 58), - ], - index=["falcon", "parrot", "lion", "monkey", "leopard"], - columns=("class", "order", "max_speed"), - ) + df = pd.DataFrame({'Animal': ['Falcon', 'Falcon', + 'Parrot', 'Parrot'], + 'Max Speed': [380., 370., 24., 26.]}) + df - - # default is axis=0 - grouped = df.groupby("class") - grouped = df.groupby("order", axis="columns") - grouped = df.groupby(["class", "order"]) + df.groupby(['Animal']).mean() Other considerations -------------------- From 0d64258972e558bca1dbd1ef0f084d294c6e9241 Mon Sep 17 00:00:00 2001 From: Bhard27 Date: Mon, 1 Mar 2021 02:31:25 +0530 Subject: [PATCH 09/14] small changes --- .../getting_started/comparison/comparison_with_spreadsheets.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst b/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst index cbceb5e3f7b4e..6b7b2b19cfa61 100644 --- a/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst +++ b/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst @@ -381,7 +381,6 @@ For example - df = pd.DataFrame({'Animal': ['Falcon', 'Falcon', 'Parrot', 'Parrot'], 'Max Speed': [380., 370., 24., 26.]}) - df df.groupby(['Animal']).mean() From 35de9ca5e9dd9c9c99efe0153079231ee28c2c44 Mon Sep 17 00:00:00 2001 From: Bhard27 Date: Mon, 1 Mar 2021 02:42:15 +0530 Subject: [PATCH 10/14] small changes --- .../comparison/comparison_with_spreadsheets.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst b/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst index 6b7b2b19cfa61..d3af8e4d9465c 100644 --- a/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst +++ b/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst @@ -379,8 +379,8 @@ For example - .. ipython:: python df = pd.DataFrame({'Animal': ['Falcon', 'Falcon', - 'Parrot', 'Parrot'], - 'Max Speed': [380., 370., 24., 26.]}) + 'Parrot', 'Parrot'], + 'Max Speed': [380., 370., 24., 26.]}) df df.groupby(['Animal']).mean() From 3b7cc6ff6354998cb592896a18a2620a010aa9f8 Mon Sep 17 00:00:00 2001 From: Bhard27 Date: Mon, 1 Mar 2021 02:54:35 +0530 Subject: [PATCH 11/14] small changes --- .../comparison/comparison_with_spreadsheets.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst b/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst index d3af8e4d9465c..6969d6241925d 100644 --- a/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst +++ b/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst @@ -379,8 +379,8 @@ For example - .. ipython:: python df = pd.DataFrame({'Animal': ['Falcon', 'Falcon', - 'Parrot', 'Parrot'], - 'Max Speed': [380., 370., 24., 26.]}) +... 'Parrot', 'Parrot'], +... 'Max Speed': [380., 370., 24., 26.]} df df.groupby(['Animal']).mean() From 44a668d6d1075f499107f2ae19ad406bc4ffff85 Mon Sep 17 00:00:00 2001 From: Bhard27 Date: Mon, 1 Mar 2021 04:04:25 +0530 Subject: [PATCH 12/14] cli errors fixed --- .../comparison/comparison_with_spreadsheets.rst | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst b/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst index 6969d6241925d..81c33a6fa1958 100644 --- a/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst +++ b/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst @@ -378,9 +378,12 @@ For example - .. ipython:: python - df = pd.DataFrame({'Animal': ['Falcon', 'Falcon', -... 'Parrot', 'Parrot'], -... 'Max Speed': [380., 370., 24., 26.]} + df = pd.DataFrame( + { + 'Animal': ['Falcon', 'Falcon','Parrot', 'Parrot'], + 'Max Speed': [380., 370., 24., 26.], + } + ) df df.groupby(['Animal']).mean() From 227b85a69cabc50003d80fb39728453f5a7e6627 Mon Sep 17 00:00:00 2001 From: Bhard27 Date: Mon, 1 Mar 2021 04:12:46 +0530 Subject: [PATCH 13/14] cli errors fixed --- .../getting_started/comparison/comparison_with_spreadsheets.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst b/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst index 81c33a6fa1958..daf243c8ea023 100644 --- a/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst +++ b/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst @@ -380,7 +380,7 @@ For example - df = pd.DataFrame( { - 'Animal': ['Falcon', 'Falcon','Parrot', 'Parrot'], + 'Animal': ['Falcon', 'Falcon', 'Parrot', 'Parrot'], 'Max Speed': [380., 370., 24., 26.], } ) From 3f8c16590e696551a64b4fa29a413e80acc90b01 Mon Sep 17 00:00:00 2001 From: Bhard27 Date: Mon, 29 Mar 2021 02:26:45 +0530 Subject: [PATCH 14/14] support document link changed --- .../getting_started/comparison/comparison_with_spreadsheets.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst b/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst index daf243c8ea023..555fa1c7210fc 100644 --- a/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst +++ b/doc/source/getting_started/comparison/comparison_with_spreadsheets.rst @@ -368,7 +368,7 @@ In Excel, there are `merging of tables can be done through a VLOOKUP GroupBy ------- -In Excel, this can be done by using the `Query Editor `_. +In Excel, this can be done by using the `Query Editor `_. .. image:: ../../_static/spreadsheets/group-by.png