Chuyển hàng thành cột trong python

Numpy là một mô-đun python để thực hiện các phép tính toán học phức tạp trên mảng. Để làm như vậy, numpy có nhiều hàm sẵn có để thao tác mảng. Trong toàn bộ bài đăng này, bạn sẽ biết cách chuyển đổi vectơ hàng thành vectơ cột trong python bằng cách sử dụng numpy

Vector trong Python là gì?

Vectơ là một đối tượng hình học chứa cả độ lớn và hướng. Vectơ được biểu diễn dưới dạng danh sách trong python. Mỗi số trong danh sách là thành phần của vectơ. Ví dụ: một vectơ có hai thành phần sẽ được biểu diễn dưới dạng [10, 20]. Độ dài của vectơ được biểu thị bằng độ lớn của vectơ

Các phương pháp  Chuyển đổi vectơ hàng thành vectơ cột trong Numpy

Hãy cùng biết tất cả các phương thức cho phép bạn chuyển đổi vectơ hàng thành vectơ cột trong numpy. Dưới đây là mảng numpy giả hoặc mẫu mà tôi đang sử dụng để chuyển đổi

vectơ hàng

import numpy as np
row_vector = np.array[[10,20,30]]
print[row_vector]

đầu ra

array[[10, 20, 30]]

Phương pháp 1. Sử dụng phương thức reshape[]

Phương thức reshape[] cho phép bạn chuyển đổi vectơ hàng thành vectơ cột. Ở đây bạn chỉ cần chuyển hai đối số. Cái đầu tiên sẽ là số cột và cái thứ hai là số hàng

Trong bài đăng này, chúng ta sẽ xem cách chuyển đổi cột thành hàng, hàng thành cột, chuyển đổi một cột thành nhiều cột và cách Xoay vòng/Bỏ xoay khung dữ liệu bằng cách sử dụng các hàm gấu trúc hữu ích sau

  • Tan chảy
  • Xoay và Pivot_table
  • ngăn xếp và Unstack
  • Wide_to_long

Các chức năng trên rất hữu ích để xoa bóp DataFrame và xoay dữ liệu từ hàng sang cột hoặc ngược lại, có thể tổng hợp nhiều giá trị nguồn vào cùng một giao điểm của hàng và cột mục tiêu

Bài đăng này sẽ hữu ích cho những người muốn định dạng dữ liệu từ rộng sang dài hoặc dài sang rộng cho bất kỳ mục đích báo cáo nào để tính toán các tập hợp tùy chỉnh

Chuyển đổi cột thành hàng

Hãy tạo một khung dữ liệu về số liệu bán hàng hàng quý của các địa điểm khác nhau

import pandas as pd
import numpy as np

df = pd.DataFrame[{
'location': ['AL', 'TX', 'MO'],
'area': ['JN', 'AU', 'JC'],
'q1': [44, 25, 36],
'q2': [29, 32, 39],
'q3': [34, 43, 24],}]

df

 locationAreaQ1Q2Q30ALJN4429341TXAU2532432MOJC363924

a] pd. tan chảy[]

Chúng tôi muốn hủy xoay khung dữ liệu ở trên và chuyển đổi các cột thành hàng, Về cơ bản, chúng tôi muốn định dạng khung dữ liệu này từ rộng sang dài, Chúng tôi có thể sử dụng gấu trúc. mel[] chức năng để đạt được điều này

df.melt[id_vars=["location", "area"], 
        var_name="quarter", 
        value_name="sales"]
  .sort_values[['location', 'quarter']]
  .reset_index[drop=True]

Các tham số của chức năng tan chảy là gì?

Id_vars. Đó là danh sách các tên cột sẽ lặp lại cho tất cả doanh số bán hàng quý và đó là lý do tại sao chúng có các biến ID đại diện cho số liệu bán hàng i. e. vị trí và khu vực trong trường hợp này

tên biến. Tên cột mới sẽ được tạo sau khi định hình lại khung dữ liệu, Trong trường hợp này, chúng tôi muốn đặt tên cho nó là quý và nó sẽ có các giá trị là q1, q2 và q3

Tên_giá_trị. Tên của cột giá trị, chúng tôi muốn đặt tên cột này là doanh số bán hàng cho khung dữ liệu này

Ngoài

Đây là đầu ra được định hình lại của khung dữ liệu

 locationareaquartersales0ALJNq1441ALJNq2292ALJNq3343MOJCq1364MOJCq2395MOJCq3246TXAUq1257TXAUq2328TXAUq343

b] df. cây rơm[]

Chúng ta cũng có thể sử dụng stack để có được kết quả tương tự như trên, hàm stack ngăn xếp [các] mức quy định từ các cột đến chỉ mục

Nó trả về một DataFrame được định hình lại có chỉ mục đa cấp với một hoặc nhiều cấp độ bên trong mới nhất so với DataFrame gốc

[df.set_index[["location", "area"]]
         .stack[]
         .reset_index[name='sales']
         .rename[columns={'level_2':'quarter'}]]

c] pd. wide_to_long[]

chúng ta cũng có thể sử dụng hàm wide_to_long[] để Bỏ xoay khung dữ liệu từ định dạng rộng sang dài. Nó ít linh hoạt hơn nhưng thân thiện với người dùng hơn tan chảy

[pd.wide_to_long[df, stubnames=['q'], i='location', j='quarter']
.reset_index[].sort_values[['location', 'quarter']]
.rename[columns={'q':'sales'}]]

Các tham số của hàm wide_to_long là gì?

tên gốc. Tên của cột mới đại diện cho một hoặc nhiều nhóm cột có định dạng trong khung dữ liệu gốc, Trong trường hợp của chúng tôi, nhóm cột là Q1,Q2,Q3

i. Mỗi hàng của các biến rộng này được giả định là được xác định duy nhất bởi i, Nó có thể là một hoặc danh sách các tên cột

j. Đó là tên của cột chỉ định những gì bạn muốn gọi là hậu tố trong tên gốc, Trong trường hợp này, Q1, Q2, Q3 đại diện cho Quý

Ngoài

Đây là khung dữ liệu kết quả, chúng tôi đã đổi tên cột q thành doanh số để làm cho khung dữ liệu trông giống với khung dữ liệu đầu ra ở trên

vị tríkhu phốkhu vựcBán hàng0AL1JN443AL2JN296AL3JN342MO1JC365MO2JC398MO3JC241TX1AU254TX2AU327TX3AU43

Chuyển một cột thành nhiều cột

Chúng tôi muốn xoay các khung dữ liệu kết quả ở trên trở lại các khung dữ liệu ban đầu của chúng, chuyển đổi các hàng thành cột

Hãy tạo một khung dữ liệu tương tự như khung dữ liệu gốc ở trên

df = pd.DataFrame[{
'location': ['TX', 'TX', 'TX'],
'area': ['HOU', 'PAL', 'DAL'],
'sales': [72, 59, 63],}]

vị tríkhu vựcbán hàng0TXHOU721TXPAL592TXDAL63

a] pd. trục[]

chúng ta có thể xoay khung dữ liệu này bằng cách sử dụng hàm pivot_table hoặc trục xoay sẽ tạo bảng tổng hợp kiểu bảng tính dưới dạng DataFrame và dữ liệu được chuyển đổi và lưu trữ trong các đối tượng MultiIndex [chỉ mục phân cấp] trên chỉ mục và cột của DataFrame kết quả

df.pivot_table[index='location', columns='area', values='sales']

#OR

df.pivot[index='location', columns='area', values='sales']

Các tham số của hàm pivot[] là gì?

Mục lục. cá mú hoặc cột mà bạn muốn tổng hợp

Cột. cá mú hoặc cột, được chuyển đổi từ hàng thành cột

Giá trị. Giá trị của Chỉ mục và Cột mà bạn muốn hiển thị

Ngoài

Khung dữ liệu đầu ra

khu vựcDALHOUPALvị trí   TX637259

b] pd. giải nén []

chúng ta có thể xoay vòng ở cấp nhãn chỉ mục bằng hàm unstack[]. Nó trả về một Khung dữ liệu có cấp độ nhãn cột mới có cấp độ bên trong nhất bao gồm các nhãn chỉ mục được xoay vòng

Chủ Đề