Đầu vào -
Giả sử bạn có DataFrame và kết quả để chuyển đổi chỉ mục và cột là,
Transposed DataFrame is 0 1 0 1 4 1 2 5 2 3 6
Giải pháp 1
-
Xác định DataFrame
-
Đặt khả năng hiểu danh sách lồng nhau để lặp lại từng phần tử trong dữ liệu danh sách hai chiều và lưu trữ nó trong kết quả.
result = [[data[i][j] for i in range(len(data))] for j in range(len(data[0]))
-
Chuyển đổi kết quả thành DataFrame,
df2 = pd.DataFrame(result)
Ví dụ
Hãy cho chúng tôi xem quá trình triển khai hoàn chỉnh để hiểu rõ hơn -
import pandas as pd data = [[1,2,3],[4,5,6]] df = pd.DataFrame(data) print("Original DataFrame is\n", df) result = [[data[i][j] for i in range(len(data))] for j in range(len(data[0]))] df2 = pd.DataFrame(result) print("Transposed DataFrame is\n", df2)
Đầu ra
Original DataFrame is 0 1 2 0 1 2 3 1 4 5 6 Transposed DataFrame is 0 1 0 1 4 1 2 5 2 3 6
Giải pháp 2
-
Xác định DataFrame
-
Áp dụng phương thức chuyển vị df.T hoặc df.transpose () cho DataFrame.
df.transpose() # or df.T
Ví dụ
Hãy cho chúng tôi xem quá trình triển khai hoàn chỉnh để hiểu rõ hơn -
import pandas as pd data = [[1,2,3],[4,5,6]] df = pd.DataFrame(data) print("Original DataFrame is\n", df) print("Transposed DataFrame is\n", df.transpose())
Đầu ra
Original DataFrame is 0 1 2 0 1 2 3 1 4 5 6 Transposed DataFrame is 0 1 0 1 4 1 2 5 2 3 6
Giải pháp 3
-
Xác định DataFrame
-
Phương thức zip trả về một trình vòng lặp của các bộ giá trị. Áp dụng để giải nén danh sách hai chiều bằng cách sử dụng * và nén nó. Nó được định nghĩa bên dưới,
result = zip(*data)
-
Chuyển đổi kết quả thành DataFrame,
df2 = pd.DataFrame(result)
Ví dụ
Hãy cho chúng tôi xem quá trình triển khai hoàn chỉnh để hiểu rõ hơn -
import pandas as pd data = [[1,2,3],[4,5,6]] df = pd.DataFrame(data) print("Original DataFrame is\n", df) result = zip(*data) df2 = pd.DataFrame(result) print("Transposed DataFrame is\n", df2)
Đầu ra
Original DataFrame is 0 1 2 0 1 2 3 1 4 5 6 Transposed DataFrame is 0 1 0 1 4 1 2 5 2 3 6