Hàm chuyển dữ liệu từ cột sang dòng (Hàm melt của Python trong Excel)

Liên hệ QC

Hai Lúa Miền Tây

❆❆❆❆❆❆❆❆
Thành viên BQT
Administrator
Tham gia
18/3/08
Bài viết
8,303
Được thích
15,837
Giới tính
Nam
Nghề nghiệp
Làm ruộng.
Đôi khi bạn muốn chuyển đổi dữ liệu từ dạng cột sang hàng (UnPivot). Bạn có thể dùng Power PI, VBA... để chuyển đổi hoặc dùng hàm melt của Python trong Excel 365 như sau để chuyển đổi.

Cú pháp cơ bản:
Mã:
pd.melt(frame, id_vars=None, value_vars=None, var_name=None, value_name='value')

Trong đó:
  • frame: DataFrame đầu vào.
  • id_vars: Cột (hoặc các cột) sẽ được giữ nguyên (không thay đổi).
  • value_vars: Cột (hoặc các cột) sẽ được gộp lại.
  • var_name: Tên của cột mới chứa tên của các cột đã gộp.
  • value_name: Tên của cột mới chứa giá trị của các cột đã gộp.
Ví dụ: Tôi có bảng dữ liệu sau

1730278025945.png

Muốn 3 cột Toán, Lý, Hoá và điểm số tương ứng được gộp lại như sau:

1730278076416.png

Vậy tôi sẽ dùng hàm melt với cú pháp như sau:

Mã:
pd.melt(xl("A1:E4", headers=True),id_vars=['MsHS','Họ Và Tên'],value_vars=['Hoá','Lý','Toán'],var_name='Môn',value_name='Điểm')

1730278195696.png

Bạn có thể xem thêm ở file đính kèm nhé.
 

File đính kèm

  • melt (UnPivot).xlsx
    10.8 KB · Đọc: 3
Đôi khi bạn muốn chuyển đổi dữ liệu từ dạng cột sang hàng (UnPivot). Bạn có thể dùng Power PI, VBA... để chuyển đổi hoặc dùng hàm melt của Python trong Excel 365 như sau để chuyển đổi.

Cú pháp cơ bản:
Mã:
pd.melt(frame, id_vars=None, value_vars=None, var_name=None, value_name='value')

Trong đó:
  • frame: DataFrame đầu vào.
  • id_vars: Cột (hoặc các cột) sẽ được giữ nguyên (không thay đổi).
  • value_vars: Cột (hoặc các cột) sẽ được gộp lại.
  • var_name: Tên của cột mới chứa tên của các cột đã gộp.
  • value_name: Tên của cột mới chứa giá trị của các cột đã gộp.
Ví dụ: Tôi có bảng dữ liệu sau

View attachment 305142

Muốn 3 cột Toán, Lý, Hoá và điểm số tương ứng được gộp lại như sau:

View attachment 305143

Vậy tôi sẽ dùng hàm melt với cú pháp như sau:

Mã:
pd.melt(xl("A1:E4", headers=True),id_vars=['MsHS','Họ Và Tên'],value_vars=['Hoá','Lý','Toán'],var_name='Môn',value_name='Điểm')

View attachment 305144

Bạn có thể xem thêm ở file đính kèm nhé.
Mấy hôm nay thấy anh đăng về python excel, vậy sao không đăng trong một chủ đề cho mọi người dễ theo dõi vậy anh?
 
Mấy hôm nay thấy anh đăng về python excel, vậy sao không đăng trong một chủ đề cho mọi người dễ theo dõi vậy anh?
Mỗi chủ đề là mỗi vấn đề riêng, thành viên dễ theo dõi và thảo luận. Vậy nên mình mới tách riêng ra từng chủ đề riêng lẻ.
 
Mỗi chủ đề là mỗi vấn đề riêng, thành viên dễ theo dõi và thảo luận. Vậy nên mình mới tách riêng ra từng chủ đề riêng lẻ.
Em nghĩ nếu thảo luận nhiều thì có thể tách phần thảo luận ra chủ đề mới. Còn nội dung chia sẻ vẫn ở cùng một chủ đề thì sẽ tiện theo dõi hơn. Nếu anh có hơn chục hàm python muốn chia sẻ, thậm chí nhiều hơn, anh tạo hơn chục chủ đề thì thực sự rất rối.
Góp ý dựa trên quan điểm của cá nhân em!
 
Web KT

Bài viết mới nhất

Back
Top Bottom