Hướng dẫn dùng numpy groupby python - sử dụng numpy groupby python

Pandas GroupBy là một hàm mạnh mẽ và linh hoạt trong Python. Nó cho phép bạn chia dữ liệu của mình thành các nhóm riêng biệt để thực hiện các phép tính nhằm phân tích tốt hơn, cũng hoàn toàn tương tự như groupby trong SQL.

Nội dung chính

  • Pandas GroupBy là một hàm mạnh mẽ và linh hoạt trong Python. Nó cho phép bạn chia dữ liệu của mình thành các nhóm riêng biệt để thực hiện các phép tính nhằm phân tích tốt hơn, cũng hoàn toàn tương tự như groupby trong SQL.
  • Hàm groupby trong pandas còn có nhiều tham số khác để bạn có thể tùy chỉnh:¶
  • Bài viết liên quan
  • Liên hệ
  • TIN NỔI BẬT

Hãy để tôi lấy một ví dụ để giải thích rõ hơn về điều này. Giả sử chúng ta có một file Sales.xlsx tổng hợp các đơn hàng trong ngày và chúng ta muốn xem mặt hàng nào có doanh số cao nhất, thấp nhất trong ngày (cột order) thì sẽ làm như sau.

Để làm tất cả các bước trên trong python chỉ cần một câu lệnh groupby đơn giản.¶

Trước hết cần load dữ liệu file Sales lên:

import pandas as pd
Sales = pd.read_excel('Sales.xlsx')
Sales
  account order ext price
0 383080 10001 235.83
1 383080 10001 232.32
2 383080 10001 107.97
3 412290 10005 2679.36
4 412290 10005 286.02
5 412290 10005 832.95
6 412290 10005 3472.04
7 412290 10005 915.12
8 218895 10006 3061.12
9 218895 10006 518.65
10 218895 10006 216.90
11 218895 10006 -72.18

Sau đó dùng một câu lệnh groupby đơn giản để nhóm dữ liệu theo cột 'order'

# groupby('order') là cột tiêu chí mà chúng ta muốn nhóm dữ liệu theo tiêu chí đó, có thể có một hoặc nhiều tiêu chí
# agg({'ext price': 'sum'}) là cột dữ liệu mà chúng ta đang muốn nhóm, và nhóm theo kiểu lấy tổng (sum)
Sales_grouped = Sales.groupby(by='order').agg({'ext price': 'sum'})
Sales_grouped
  ext price
order  
10001 576.12
10005 8185.49
10006 3724.49

account

order
  ext price
order  
10001 576.12
10006 3724.49
10005 8185.49

Hàm groupby trong pandas còn có nhiều tham số khác để bạn có thể tùy chỉnh:¶

Bài viết liên quan

  • Liên hệ : chỉ định tiêu chí, đối tượng cần nhóm, như cột 'order' trong ví dụ trên.
  • TIN NỔI BẬT : kiểu số nguyên hoặc chuỗi: Nếu trục là MultiIndex (phân cấp), thì nhóm theo các cấp cụ thể.
  • Hãy để tôi lấy một ví dụ để giải thích rõ hơn về điều này. Giả sử chúng ta có một file Sales.xlsx tổng hợp các đơn hàng trong ngày và chúng ta muốn xem mặt hàng nào có doanh số cao nhất, thấp nhất trong ngày (cột order) thì sẽ làm như sau. : kiểu bool, default=True: Biến cột tiêu chí thành Index (chỉ số), as_index = False thì giữ nguyên index cũ.
  • Để làm tất cả các bước trên trong python chỉ cần một câu lệnh groupby đơn giản.¶ : kiểu bool, default=True: Sắp xếp cột tiêu chí theo thứ tự.
  • Trước hết cần load dữ liệu file Sales lên: : kiểu bool, default=True: Loại bỏ những hàng và cột có giá trị Nan
import pandas as pd
Sales = pd.read_excel('Sales.xlsx')
Sales
    account
order ext price  
account order 390.0
ext price 350.0
Sau đó dùng một câu lệnh groupby đơn giản để nhóm dữ liệu theo cột 'order' order 30.0
ext price 20.0
Sau đó dùng một câu lệnh groupby đơn giản để nhóm dữ liệu theo cột 'order'
  account
order  
account 370.0
Sau đó dùng một câu lệnh groupby đơn giản để nhóm dữ liệu theo cột 'order' 25.0
# groupby('order') là cột tiêu chí mà chúng ta muốn nhóm dữ liệu theo tiêu chí đó, có thể có một hoặc nhiều tiêu chí
# agg({'ext price': 'sum'}) là cột dữ liệu mà chúng ta đang muốn nhóm, và nhóm theo kiểu lấy tổng (sum)
Sales_grouped = Sales.groupby(by='order').agg({'ext price': 'sum'})
Sales_grouped
  account
ext price  
ext price 185.0
order 210.0
ext price
  account order ext price
0 1 2.0 3
1 1 Sau đó dùng một câu lệnh groupby đơn giản để nhóm dữ liệu theo cột 'order' 4
2 2 1.0 3
3 1 2.0 2
# groupby('order') là cột tiêu chí mà chúng ta muốn nhóm dữ liệu theo tiêu chí đó, có thể có một hoặc nhiều tiêu chí
# agg({'ext price': 'sum'}) là cột dữ liệu mà chúng ta đang muốn nhóm, và nhóm theo kiểu lấy tổng (sum)
Sales_grouped = Sales.groupby(by='order').agg({'ext price': 'sum'})
Sales_grouped
  account ext price
order    
1.0 2 3
2.0 2 5
account 1 4

orderERX VN

Bài viết liên quan

Liên hệ

TIN NỔI BẬT

ext price