Hướng dẫn groupby in python geeksforgeeks - groupby trong python geeksforgeeks

Groupby là một khái niệm khá đơn giản. Chúng ta có thể tạo một nhóm các danh mục và áp dụng một hàm cho các danh mục. Nó có một khái niệm đơn giản nhưng nó là một kỹ thuật cực kỳ có giá trị mà sử dụng rộng rãi trong khoa học dữ liệu. Trong các dự án khoa học dữ liệu thực, bạn sẽ xử lý một lượng lớn dữ liệu và thử mọi thứ, vì vậy để hiệu quả, chúng tôi sử dụng khái niệm Groupby. Khái niệm Groupby thực sự quan trọng bởi vì khả năng tổng hợp dữ liệu hiệu quả, cả về hiệu suất và mã số lượng là tuyệt vời. Groupby chủ yếu đề cập đến một quy trình liên quan đến một hoặc nhiều bước sau đây: & nbsp; & nbsp;
 

  • Chia tách: Đó là một quá trình trong đó chúng tôi chia dữ liệu thành nhóm bằng cách áp dụng một số điều kiện trên các bộ dữ liệu. It is a process in which we split data into group by applying some conditions on datasets.
  • Áp dụng: Đó là một quá trình trong đó chúng tôi áp dụng một hàm cho mỗi nhóm một cách độc lập It is a process in which we apply a function to each group independently
  • Kết hợp: Đó là một quá trình trong đó chúng tôi kết hợp các bộ dữ liệu khác nhau sau khi áp dụng nhóm và kết quả thành cấu trúc dữ liệu It is a process in which we combine different datasets after applying groupby and results into a data structure

Hình ảnh sau đây sẽ giúp tìm hiểu một quy trình liên quan đến khái niệm Groupby. & NBSP; 1. Nhóm các giá trị duy nhất từ ​​cột nhóm & nbsp; & nbsp;
1. Group the unique values from the Team column 
 

Hướng dẫn groupby in python geeksforgeeks - groupby trong python geeksforgeeks

2. Bây giờ, có một thùng cho mỗi nhóm & nbsp; & nbsp;
 

Hướng dẫn groupby in python geeksforgeeks - groupby trong python geeksforgeeks

3. ném dữ liệu khác vào các thùng & nbsp; & nbsp;
 

Hướng dẫn groupby in python geeksforgeeks - groupby trong python geeksforgeeks

4. Áp dụng một hàm trên cột trọng lượng của mỗi thùng. & Nbsp; & nbsp;
 

Hướng dẫn groupby in python geeksforgeeks - groupby trong python geeksforgeeks

Chia dữ liệu thành các nhóm

Chia tách là một quá trình trong đó chúng tôi chia dữ liệu thành một nhóm bằng cách áp dụng một số điều kiện trên các bộ dữ liệu. Để phân chia dữ liệu, chúng tôi áp dụng một số điều kiện nhất định trên bộ dữ liệu. Để phân chia dữ liệu, chúng tôi sử dụng hàm GroupBy (), hàm này được sử dụng để chia dữ liệu thành các nhóm dựa trên một số tiêu chí. Các đối tượng gấu trúc có thể được phân chia trên bất kỳ trục nào của chúng. Định nghĩa trừu tượng của nhóm là cung cấp ánh xạ nhãn cho tên nhóm. Bộ dữ liệu Pandas có thể được chia thành bất kỳ đối tượng nào của họ. Có nhiều cách để phân chia dữ liệu như: & nbsp; & nbsp;
 

  • obj.groupby(key)
  • obj.groupby (khóa, trục = 1)
  • obj.groupby ([key1, key2])

Lưu ý: Trong đó, chúng tôi gọi các đối tượng nhóm là các khóa. & NBSP; Nhóm dữ liệu với một khóa: & nbsp; Để nhóm dữ liệu bằng một khóa, chúng tôi chỉ chuyển một khóa làm đối số trong hàm nhóm. & NBSP; & NBSP;In this we refer to the grouping objects as the keys. 
Grouping data with one key: 
In order to group data with one key, we pass only one key as an argument in groupby function. 
 

Python3

import pandas as pd

data1 = {'Name':[____________, 'Anuj'______8

pandas as pd5pandas as pd6, 'Anuj', pandas as pd3, data1 2data1 3

Các

=5=6, =8, data1 7, =3data1 3

data1 4{5:[{7, {9, 'Name'1, 'Name'3pandas as pd4

'Name'5'Name'6, {9, 'Name'1, :[2data1 3

data1 4:[5:[:[7, :[9, 'Jai'1, 'Jai'3pandas as pd4

'Jai'5'Jai'6, 'Jai'8, :[7, :[9, 3

, 4= , 6

, 7, 8

Hướng dẫn groupby in python geeksforgeeks - groupby trong python geeksforgeeks

Bây giờ chúng tôi nhóm một dữ liệu tên bằng hàm groupBy (). & Nbsp; & nbsp;
 

Python3

, 9'Name''Anuj'1

, 7'Anuj'3'Name''Anuj'5

Đầu ra: & nbsp; & nbsp; 
 

Hướng dẫn groupby in python geeksforgeeks - groupby trong python geeksforgeeks

& nbsp; & nbsp; Bây giờ chúng tôi in các mục đầu tiên trong tất cả các nhóm được hình thành. & nbsp; & nbsp;
Now we print the first entries in all the groups formed. 
 

Python3

'Anuj'6= , 9'Name''Anuj'1

pandas as pd01

Đầu ra: & nbsp; & nbsp; 
 

Hướng dẫn groupby in python geeksforgeeks - groupby trong python geeksforgeeks

& nbsp; & nbsp; Bây giờ chúng tôi in các mục đầu tiên trong tất cả các nhóm được hình thành. & nbsp; & nbsp;
Grouping data with multiple keys : 
In order to group data with multiple keys, we pass multiple keys in groupby function. 
 

Python3

import pandas as pd

data1 = {'Name':[____________, 'Anuj'______8

pandas as pd5pandas as pd6, 'Anuj', pandas as pd3, data1 2data1 3

data1 4data1 5:[data1 7, data1 9, =1, =3pandas as pd4

=5=6, =8, data1 7, =3data1 3

Các

'Name'5'Name'6, {9, 'Name'1, :[2data1 3

data1 4:[5:[:[7, :[9, 'Jai'1, 'Jai'3pandas as pd4

'Jai'5'Jai'6, 'Jai'8, :[7, :[9, 3

, 4= , 6

, 7, 8

Hướng dẫn groupby in python geeksforgeeks - groupby trong python geeksforgeeks

Bây giờ chúng tôi nhóm một dữ liệu tên bằng hàm groupBy (). & Nbsp; & nbsp;
 

Python3

pandas as pd91'Name', :[5pandas as pd95

, 7pandas as pd97'Name', :[5data1 01

Đầu ra: & nbsp; & nbsp; 
 

Hướng dẫn groupby in python geeksforgeeks - groupby trong python geeksforgeeks

& nbsp; & nbsp; nhóm dữ liệu bằng cách sắp xếp các khóa: & nbsp; các khóa nhóm được sắp xếp theo mặc định bằng cách sử dụng thao tác nhóm. Người dùng có thể vượt qua Sắp xếp = Sai cho các tốc độ tiềm năng. & NBSP; & NBSP;
Grouping data by sorting keys : 
Group keys are sorted by default using the groupby operation. User can pass sort=False for potential speedups. 
 

Python3

import pandas as pd

data1 = {'Name':[____________, 'Anuj'______8

pandas as pd5pandas as pd6, 'Anuj', pandas as pd3, data1 2data1 3

data1 4data1 5:[data1 7, data1 9, =1, =3pandas as pd4

=5=6, =8, data1 7, =3data1 45

, 4= , 6

, 7, 8

Hướng dẫn groupby in python geeksforgeeks - groupby trong python geeksforgeeks

Bây giờ chúng tôi áp dụng groupby () mà không cần sắp xếp & nbsp; & nbsp;
 

Python3

pandas as pd91'Name'data1 53data1 54data1 55

Đầu ra: & nbsp; & nbsp; 
 

Hướng dẫn groupby in python geeksforgeeks - groupby trong python geeksforgeeks

Bây giờ chúng tôi áp dụng groupby () bằng cách sử dụng sắp xếp để đạt được tốc độ tiềm năng & nbsp; & nbsp;
 

Python3

pandas as pd91'Name'data1 58= data1 60data1 61data1 54data1 55

Đầu ra: & nbsp; & nbsp; 
 

Hướng dẫn groupby in python geeksforgeeks - groupby trong python geeksforgeeks

& nbsp; & nbsp; nhóm dữ liệu với các thuộc tính đối tượng: & nbsp; thuộc tính nhóm giống như từ điển có các khóa là các nhóm duy nhất được tính toán và các giá trị tương ứng là nhãn trục thuộc mỗi nhóm. & nbsp; & nbsp;
Grouping data with object attributes : 
Groups attribute is like dictionary whose keys are the computed unique groups and corresponding values being the axis labels belonging to each group. 
 

Python3

import pandas as pd

data1 = {'Name':[____________, 'Anuj'______8

pandas as pd5pandas as pd6, 'Anuj', pandas as pd3, data1 2data1 3

data1 4data1 5:[data1 7, data1 9, =1, =3pandas as pd4

=5=6, =8, data1 7, =3data1 3

, 4= , 6

'Name'5'Name'6, {9, 'Name'1, :[2data1 3

data1 4:[5:[:[7, :[9, 'Jai'1, 'Jai'3pandas as pd4

'Jai'5'Jai'6, 'Jai'8, :[7, :[9, 3

, 4= , 6

, 7, 8

Hướng dẫn groupby in python geeksforgeeks - groupby trong python geeksforgeeks

Bây giờ chúng tôi áp dụng groupby () mà không cần sắp xếp & nbsp; & nbsp;
 

Bây giờ chúng tôi áp dụng groupby () bằng cách sử dụng sắp xếp để đạt được tốc độ tiềm năng & nbsp; & nbsp;

, 9'Name'=55

Đầu ra: & nbsp; & nbsp; 
 

Hướng dẫn groupby in python geeksforgeeks - groupby trong python geeksforgeeks

pandas as pd91'Name'data1 58= data1 60data1 61data1 54data1 55

& nbsp; & nbsp; nhóm dữ liệu với các thuộc tính đối tượng: & nbsp; thuộc tính nhóm giống như từ điển có các khóa là các nhóm duy nhất được tính toán và các giá trị tương ứng là nhãn trục thuộc mỗi nhóm. & nbsp; & nbsp;
 

Python3

import pandas as pd

data1 = {'Name':[____________, 'Anuj'______8

pandas as pd5pandas as pd6, 'Anuj', pandas as pd3, data1 2data1 3

data1 4data1 5:[data1 7, data1 9, =1, =3pandas as pd4

=5=6, =8, data1 7, =3data1 3

data1 4{5:[{7, {9, 'Name'1, 'Name'3pandas as pd4

, 4= , 6

data1 4:[5:[:[7, :[9, 'Jai'1, 'Jai'3pandas as pd4

'Jai'5'Jai'6, 'Jai'8, :[7, :[9, 3

, 4= , 6

, 7, 8

Hướng dẫn groupby in python geeksforgeeks - groupby trong python geeksforgeeks

Bây giờ chúng tôi áp dụng groupby () mà không cần sắp xếp & nbsp; & nbsp;
 

Python3

Bây giờ chúng tôi áp dụng groupby () bằng cách sử dụng sắp xếp để đạt được tốc độ tiềm năng & nbsp; & nbsp;

pandas as pd91'Name'data1 58= data1 60data1 61data1 54data1 55

{54, 7{56

{54, 7{59

{54, 7data1 55

Đầu ra: & nbsp; & nbsp; 
 

Hướng dẫn groupby in python geeksforgeeks - groupby trong python geeksforgeeks

& nbsp; & nbsp; nhóm dữ liệu với các thuộc tính đối tượng: & nbsp; thuộc tính nhóm giống như từ điển có các khóa là các nhóm duy nhất được tính toán và các giá trị tương ứng là nhãn trục thuộc mỗi nhóm. & nbsp; & nbsp;
 

Python3

data1 4{5:[{7_______

pandas as pd91'Name'data1 58= data1 60data1 61data1 54data1 55

{54, 7{56

{54, 7{59

{54, 7data1 55

& nbsp; & nbsp; nhóm dữ liệu với các thuộc tính đối tượng: & nbsp; thuộc tính nhóm giống như từ điển có các khóa là các nhóm duy nhất được tính toán và các giá trị tương ứng là nhãn trục thuộc mỗi nhóm. & nbsp; & nbsp; 
As shown in output that group name will be tuple 
 

Hướng dẫn groupby in python geeksforgeeks - groupby trong python geeksforgeeks

data1 4{5:[{7_______

Bây giờ chúng tôi nhóm dữ liệu như chúng tôi làm trong một từ điển bằng cách sử dụng các khóa. & Nbsp; & nbsp;
 

Python3

import pandas as pd

data1 = {'Name':[____________, 'Anuj'______8

pandas as pd5pandas as pd6, 'Anuj', pandas as pd3, data1 2data1 3

, 4= , 6

=5=6, =8, data1 7, =3data1 3

data1 4{5:[{7, {9, 'Name'1, 'Name'3pandas as pd4

'Name'5'Name'6, {9, 'Name'1, :[2data1 3

data1 4:[5:[:[7, :[9, 'Jai'1, 'Jai'3pandas as pd4

'Jai'5'Jai'6, 'Jai'8, :[7, :[9, 3

, 4= , 6

, 7, 8

Hướng dẫn groupby in python geeksforgeeks - groupby trong python geeksforgeeks

Bây giờ chúng tôi chọn một nhóm duy nhất bằng Groupby.get_group. & NBSP; & nbsp;
 

Python3

{45= , 9'Name''Anuj'1

'Name'77'Jai''Anuj'1

Đầu ra: & nbsp; & nbsp; 
 

Hướng dẫn groupby in python geeksforgeeks - groupby trong python geeksforgeeks

Bây giờ chúng tôi chọn một đối tượng được nhóm trên nhiều cột & nbsp; & nbsp;
 

Python3

{45= pandas as pd91'Name', :[5pandas as pd95

'Name'87'Jai', :[7'Name'91

Đầu ra: & nbsp; & nbsp; 
 

Hướng dẫn groupby in python geeksforgeeks - groupby trong python geeksforgeeks

Bây giờ chúng tôi chọn một đối tượng được nhóm trên nhiều cột & nbsp; & nbsp;

{45= pandas as pd91'Name', :[5pandas as pd95
 

  • Áp dụng chức năng cho nhóm It is a process in which we compute a summary statistic (or statistics) about each group. For Example, Compute group sums ormeans
  • Sau khi chia dữ liệu thành một nhóm, chúng tôi áp dụng một hàm cho mỗi nhóm để thực hiện một số hoạt động của chúng là: & nbsp; & nbsp; It is a process in which we perform some group-specific computations and return a like-indexed. For Example, Filling NAs within groups with a value derived from each group
  • Tập hợp: Đó là một quá trình trong đó chúng tôi tính toán một thống kê tóm tắt (hoặc thống kê) về từng nhóm. Ví dụ: tính toán tổng hợp nhóm ormeans It is a process in which we discard some groups, according to a group-wise computation that evaluates True or False. For Example, Filtering out data based on the group sum or mean

Biến đổi: Đây là một quá trình trong đó chúng tôi thực hiện một số tính toán cụ thể theo nhóm và trả về một chỉ số tương tự. Ví dụ: điền NAS trong các nhóm có giá trị xuất phát từ mỗi nhóm
Aggregation : 
Aggregation is a process in which we compute a summary statistic about each group. Aggregated function returns a single aggregated value for each group. After splitting a data into groups using groupby function, several aggregation operations can be performed on the grouped data. 
Code #1: Using aggregation via the aggregate method 
 

Python3

Lọc: Đó là một quá trình trong đó chúng tôi loại bỏ một số nhóm, theo một tính toán khôn ngoan nhóm đánh giá đúng hoặc sai. Ví dụ: lọc dữ liệu dựa trên tổng hoặc trung bình nhóm

& nbsp; & nbsp; tập hợp: & nbsp; tập hợp là một quá trình trong đó chúng tôi tính toán một thống kê tóm tắt về mỗi nhóm. Hàm tổng hợp trả về một giá trị tổng hợp duy nhất cho mỗi nhóm. Sau khi chia dữ liệu thành các nhóm bằng chức năng Groupby, một số hoạt động tổng hợp có thể được thực hiện trên dữ liệu được nhóm.

import pandas as pd

pandas as pd5pandas as pd6, 'Anuj', pandas as pd3, data1 2data1 3

data1 4data1 5:[data1 7, data1 9, =1, =3pandas as pd4

=5=6, =8, data1 7, =3data1 3

import 'Name'95

'Name'5'Name'6, {9, 'Name'1, :[2data1 3

data1 4:[5:[:[7, :[9, 'Jai'1, 'Jai'3pandas as pd4

'Jai'5'Jai'6, 'Jai'8, :[7, :[9, 3

, 4= , 6

, 7, 8

Hướng dẫn groupby in python geeksforgeeks - groupby trong python geeksforgeeks

data1 = {'Name':[____________, 'Anuj'______8
 

Python3

data1 4{5:[{7_______

:[88data1 54'Anuj'1

Đầu ra: & nbsp; & nbsp; 
 

Hướng dẫn groupby in python geeksforgeeks - groupby trong python geeksforgeeks

Bây giờ chúng tôi chọn một đối tượng được nhóm trên nhiều cột & nbsp; & nbsp;
 

Python3

{45= pandas as pd91'Name', :[5pandas as pd95

:[88data1 54'Anuj'1

Đầu ra: & nbsp; & nbsp; 
 

Hướng dẫn groupby in python geeksforgeeks - groupby trong python geeksforgeeks

Bây giờ chúng tôi chọn một đối tượng được nhóm trên nhiều cột & nbsp; & nbsp;
Applying multiple functions at once : 
We can apply a multiple functions at once by passing a list or dictionary of functions to do aggregation with, outputting a DataFrame. 
 

Python3

Lọc: Đó là một quá trình trong đó chúng tôi loại bỏ một số nhóm, theo một tính toán khôn ngoan nhóm đánh giá đúng hoặc sai. Ví dụ: lọc dữ liệu dựa trên tổng hoặc trung bình nhóm

& nbsp; & nbsp; tập hợp: & nbsp; tập hợp là một quá trình trong đó chúng tôi tính toán một thống kê tóm tắt về mỗi nhóm. Hàm tổng hợp trả về một giá trị tổng hợp duy nhất cho mỗi nhóm. Sau khi chia dữ liệu thành các nhóm bằng chức năng Groupby, một số hoạt động tổng hợp có thể được thực hiện trên dữ liệu được nhóm.

import pandas as pd

pandas as pd5pandas as pd6, 'Anuj', pandas as pd3, data1 2data1 3

data1 4data1 5:[data1 7, data1 9, =1, =3pandas as pd4

=5=6, =8, data1 7, =3data1 3

data1 4{5:[{7, {9, 'Name'1, 'Name'3pandas as pd4

import 'Name'95

data1 4:[5:[:[7, :[9, 'Jai'1, 'Jai'3pandas as pd4

'Jai'5'Jai'6, 'Jai'8, :[7, :[9, 3

, 4= , 6

, 7, 8

Hướng dẫn groupby in python geeksforgeeks - groupby trong python geeksforgeeks

data1 = {'Name':[____________, 'Anuj'______8
 

Python3

{45= , 9'Name''Anuj'1

'Jai'97data1 5'Jai'99data1 54, 01

Đầu ra: & nbsp; & nbsp; 
 

Hướng dẫn groupby in python geeksforgeeks - groupby trong python geeksforgeeks

Bây giờ chúng tôi chọn một đối tượng được nhóm trên nhiều cột & nbsp; & nbsp;
Applying different functions to DataFrame columns : 
In order to apply a different aggregation to the columns of a DataFrame, we can pass a dictionary to aggregate . 
 

Python3

import pandas as pd

import 'Name'95

data1 = {'Name':[____________, 'Anuj'______8

pandas as pd5pandas as pd6, 'Anuj', pandas as pd3, data1 2data1 3

data1 4data1 5:[data1 7, data1 9, =1, =3pandas as pd4

=5=6, =8, data1 7, =3data1 3

data1 4{5:[{7_______

'Name'5'Name'6, {9, 'Name'1, :[2data1 3

data1 4:[5:[:[7, :[9, 'Jai'1, 'Jai'3pandas as pd4

'Jai'5'Jai'6, 'Jai'8, :[7, :[9data1 3

data1 4, 89, 90, 91, , 93, , 95, , 97, , 99, 'Anuj'01, 'Anuj'03, 'Anuj'05, 3

, 4= , 6

, 7, 8

Hướng dẫn groupby in python geeksforgeeks - groupby trong python geeksforgeeks

Bây giờ chúng tôi áp dụng một tập hợp khác nhau cho các cột của DataFrame. & Nbsp; & nbsp;
 

Python3

{45= , 9'Name''Anuj'1

Is

Đầu ra: & nbsp; & nbsp; 
 

Hướng dẫn groupby in python geeksforgeeks - groupby trong python geeksforgeeks

Biến đổi: & NBSP; Chuyển đổi là một quá trình trong đó chúng tôi thực hiện một số tính toán cụ thể theo nhóm và trả về một chỉ số tương tự. Phương thức biến đổi trả về một đối tượng được lập chỉ mục cùng kích thước (cùng kích thước) với mục được nhóm. Hàm biến đổi phải: & nbsp; & nbsp; 
Transformation is a process in which we perform some group-specific computations and return a like-indexed. Transform method returns an object that is indexed the same (same size) as the one being grouped. The transform function must: 
 

  • Trả về kết quả có cùng kích thước với chunk nhóm
  • Vận hành từng cột trên chunk nhóm
  • Không thực hiện các hoạt động tại chỗ trên khối nhóm.

Python3

import pandas as pd

import 'Name'95

data1 = {'Name':[____________, 'Anuj'______8

pandas as pd5pandas as pd6, 'Anuj', pandas as pd3, data1 2data1 3

data1 4data1 5:[data1 7, data1 9, =1, =3pandas as pd4

=5=6, =8, data1 7, =3data1 3

data1 4{5:[{7_______

'Name'5'Name'6, {9, 'Name'1, :[2data1 3

data1 4:[5:[:[7, :[9, 'Jai'1, 'Jai'3pandas as pd4

'Jai'5'Jai'6, 'Jai'8, :[7, :[9data1 3

data1 4, 89, 90, 91, , 93, , 95, , 97, , 99, 'Anuj'01, 'Anuj'03, 'Anuj'05, 3

, 4= , 6

, 7, 8

Hướng dẫn groupby in python geeksforgeeks - groupby trong python geeksforgeeks

Bây giờ chúng tôi áp dụng một tập hợp khác nhau cho các cột của DataFrame. & Nbsp; & nbsp;
 

Python3

{45= , 9'Name''Anuj'1

Is

pandas as pd051

Đầu ra: & nbsp; & nbsp; 
 

Hướng dẫn groupby in python geeksforgeeks - groupby trong python geeksforgeeks

Biến đổi: & NBSP; Chuyển đổi là một quá trình trong đó chúng tôi thực hiện một số tính toán cụ thể theo nhóm và trả về một chỉ số tương tự. Phương thức biến đổi trả về một đối tượng được lập chỉ mục cùng kích thước (cùng kích thước) với mục được nhóm. Hàm biến đổi phải: & nbsp; & nbsp; 
Filtration is a process in which we discard some groups, according to a group-wise computation that evaluates True or False. In order to filter a group, we use filter method and apply some condition by which we filter group. 
 

Python3

import pandas as pd

import 'Name'95

data1 = {'Name':[____________, 'Anuj'______8

pandas as pd5pandas as pd6, 'Anuj', pandas as pd3, data1 2data1 3

data1 4data1 5:[data1 7, data1 9, =1, =3pandas as pd4

=5=6, =8, data1 7, =3data1 3

data1 4{5:[{7, {9, 'Name'1, 'Name'3pandas as pd4

data1 4{5:[{7_______

data1 4:[5:[:[7, :[9, 'Jai'1, 'Jai'3pandas as pd4

'Jai'5'Jai'6, 'Jai'8, :[7, :[9data1 3

data1 4, 89, 90, 91, , 93, , 95, , 97, , 99, 'Anuj'01, 'Anuj'03, 'Anuj'05, 3

, 4= , 6

, 7, 8

Hướng dẫn groupby in python geeksforgeeks - groupby trong python geeksforgeeks

Bây giờ chúng tôi áp dụng một tập hợp khác nhau cho các cột của DataFrame. & Nbsp; & nbsp;
 

Python3

{45= , 9'Name''Anuj'1

Is

Đầu ra: & nbsp; & nbsp; 
 

Hướng dẫn groupby in python geeksforgeeks - groupby trong python geeksforgeeks