Hướng dẫn how do you transpose a column to a list in python? - làm cách nào để bạn chuyển một cột thành danh sách trong python?
Phương pháp 1 và 2 hoạt động trong Python 2 hoặc 3, và chúng hoạt động trên danh sách 2D hình chữ nhật, rách rưới. Điều đó có nghĩa là các danh sách bên trong không cần phải có cùng độ dài với nhau (rách rưới) hoặc như các danh sách bên ngoài (hình chữ nhật). Các phương pháp khác, tốt, nó phức tạp.ragged, rectangular 2D lists. That means the inner lists do not need to have the same lengths as each other (ragged) or as the outer lists (rectangular). The other methods, well, it's complicated. Show
thiết lập
Phương pháp 1 - >>> list(map(list, six.moves.zip_longest(*list_list, fillvalue='-'))) [[1, 4, 7], [2, 5, 8], [3, 6, 9], ['-', 6.1, '-'], ['-', 6.2, '-'], ['-', 6.3, '-']] 1, >>> list(map(list, six.moves.zip_longest(*list_list, fillvalue='-'))) [[1, 4, 7], [2, 5, 8], [3, 6, 9], ['-', 6.1, '-'], ['-', 6.2, '-'], ['-', 6.3, '-']] 2
3 trở thành
FillValue mặc định là 6. Nhờ câu trả lời của @Jena, trong đó 1 đang thay đổi các bộ dữ liệu bên trong thành danh sách. Ở đây nó đang biến các iterators thành danh sách. Cảm ơn các bình luận của @Oregano và @Badp.Trong Python 3, hãy truyền kết quả qua 8 để có được danh sách 2D giống như Phương pháp 2.Phương pháp 2 - Danh sách hiểu, >>> list(map(list, six.moves.zip_longest(*list_list, fillvalue='-'))) [[1, 4, 7], [2, 5, 8], [3, 6, 9], ['-', 6.1, '-'], ['-', 6.2, '-'], ['-', 6.3, '-']] 2
Thay thế @expectorg4dget. Phương pháp 3 - >>> list(map(list, six.moves.zip_longest(*list_list, fillvalue='-'))) [[1, 4, 7], [2, 5, 8], [3, 6, 9], ['-', 6.1, '-'], ['-', 6.2, '-'], ['-', 6.3, '-']] 1 của >>> list(map(list, six.moves.zip_longest(*list_list, fillvalue='-'))) [[1, 4, 7], [2, 5, 8], [3, 6, 9], ['-', 6.1, '-'], ['-', 6.2, '-'], ['-', 6.3, '-']] 1 - bị hỏng trong Python 3.6
Sự thay thế thứ hai cực kỳ nhỏ gọn này hoạt động với các danh sách 2D rách rưới, không giống như mã đầu tiên của anh ta sử dụng Numpy để chuyển đổi và chuyển qua các danh sách rách rưới. Nhưng không ai phải là giá trị điền. . Ở đâu đó trong Python 3, 1 đã ngừng đưa ra tất cả sự lạm dụng này: tham số đầu tiên không thể là không, và các trình lặp rách rưới chỉ bị cắt ngắn nhất. Các phương thức khác vẫn hoạt động vì điều này chỉ áp dụng cho bản đồ bên trong ().Phương pháp 4 - >>> list(map(list, six.moves.zip_longest(*list_list, fillvalue='-'))) [[1, 4, 7], [2, 5, 8], [3, 6, 9], ['-', 6.1, '-'], ['-', 6.2, '-'], ['-', 6.3, '-']] 1 của >>> list(map(list, six.moves.zip_longest(*list_list, fillvalue='-'))) [[1, 4, 7], [2, 5, 8], [3, 6, 9], ['-', 6.1, '-'], ['-', 6.2, '-'], ['-', 6.3, '-']] 1 được xem xét lại
Than ôi những hàng rách rưới không trở thành cột rách rưới trong Python 3, chúng chỉ bị cắt ngắn. Boo Hoo tiến bộ. Trong hướng dẫn này, bạn sẽ học cách sử dụng Python để chuyển đổi danh sách các danh sách, đôi khi được gọi là mảng 2 chiều. Bằng cách chuyển một danh sách các danh sách, về cơ bản chúng tôi đang biến các hàng của một ma trận thành các cột của nó và các cột của nó thành các hàng. Đây là một kỹ năng rất hữu ích để biết khi bạn học tập máy học. Trong hướng dẫn này, bạn sẽ học cách thực hiện việc này bằng cách sử dụng các vòng lặp, danh sách toàn diện, hàm 5, thư viện 6, cũng như sử dụng thư viện ____27 phổ biến để hoàn thành nhiệm vụ này.Câu trả lời nhanh: Sử dụng phương thức Numpy từ
Nó có nghĩa là gì khi chuyển một danh sách python?Chuyển đổi danh sách danh sách Python bằng cách sử dụng NumpyBut what exactly does it mean to transpose a list of lists in Python? Sử dụng chức năng zip để chuyển danh sách danh sách trong Python Sử dụng itertools để chuyển danh sách Python original = [ [1,2,3], [4,5,6], [7,8,9] ] transposed = [ [1, 4, 7], [2, 5, 8], [3, 6, 9] ] Chuyển đổi danh sách danh sách Python bằng cách sử dụng một vòng lặp Chuyển đổi danh sách danh sách Python bằng cách sử dụng NumpySử dụng chức năng zip để chuyển danh sách danh sách trong Python Sử dụng itertools để chuyển danh sách Python Chuyển đổi danh sách danh sách Python bằng cách sử dụng một vòng lặp Mảng truyền là một chức năng phổ biến bạn cần làm khi bạn làm việc trên các dự án học máy. Nhưng chính xác thì nó có nghĩa là gì khi chuyển một danh sách các danh sách trong Python? # Transpose a list of lists in Python using numpy import numpy as np list_of_lists = [ [1,2,3], [4,5,6], [7,8,9] ] array = np.array(list_of_lists) transposed_array = array.T transposed_list_of_lists = transposed_array.tolist() # This is the same as: transposed = np.array(list_of_lists).T.tolist() print(transposed_list_of_lists) # Returns # [ # [1, 4, 7], # [2, 5, 8], # [3, 6, 9] # ] Chúng ta có thể nghĩ về những người bạn trong danh sách các danh sách của chúng ta trong Python là hàng của một ma trận. Khi chúng tôi chuyển đổi một danh sách các danh sách, về cơ bản chúng tôi biến các hàng của ma trận của chúng tôi thành các cột và biến các cột thành các hàng.
Một trong những hoạt động này là chuyển đổi dữ liệu, sử dụng phương thức 1, cũng có thể được rút ngắn thành 8.Tuy nhiên, trước khi chúng tôi có thể sử dụng bất kỳ phương pháp nào trong số này, chúng tôi cần chuyển đổi danh sách hoặc danh sách danh sách của chúng tôi thành một mảng numpy. Check out my in-depth tutorial with easy to follow along examples here. Sử dụng chức năng zip để chuyển danh sách danh sách trong PythonBây giờ chúng ta hãy xem cách chúng ta có thể sử dụng chức năng 5 tích hợp để chuyển đổi danh sách các danh sách trong Python. Hàm 5 là một phương pháp cực kỳ hữu ích cho phép chúng tôi truy cập vào mục thứ n của một chuỗi có thể lặp lại, khi chúng tôi lặp qua nhiều đối tượng có thể lặp lại.Bây giờ, điều này nghe có vẻ khó hiểu, và có thể dễ dàng thấy nó hoạt động hơn là hiểu nó trong lý thuyết, ngay lập tức. Vì vậy, hãy để Lừa xem cách chúng ta có thể chuyển một danh sách danh sách bằng hàm 5:# Transpose a list of lists in Python using numpy import numpy as np list_of_lists = [ [1,2,3], [4,5,6], [7,8,9] ] transposed_tuples = list(zip(*list_of_lists)) # This looks like: [(1, 4, 7), (2, 5, 8), (3, 6, 9)] transposed = [list(sublist) for sublist in transposed_tuples] print(transposed) # Returns # [ # [1, 4, 7], # [2, 5, 8], # [3, 6, 9] # ] Hãy cùng xem những gì chúng tôi đã làm ở đây:
Trong phần tiếp theo, bạn sẽ học cách sử dụng thư viện 6 để có thể biến danh sách danh sách các độ dài khác nhau thành các phiên bản chuyển tiếp của chúng.Bạn muốn đi sâu hơn một chút vào chức năng Đôi khi, khi làm việc với danh sách danh sách Python, bạn sẽ gặp những người phụ có độ dài khác nhau. Trong những trường hợp này, hàm 5 sẽ bỏ qua bất cứ thứ gì lớn hơn chiều dài của trình phụ ngắn nhất.Bởi vì điều này, có nhiều lần chúng ta cần dựa vào thư viện 6 để chuyển danh sách danh sách nơi các mục có độ dài khác nhau. Cụ thể, chúng tôi sẽ sử dụng chức năng Itertool từ 2 để có thể đưa dữ liệu bị thiếu vào danh sách danh sách chuyển vị của chúng tôi.Một lần nữa, điều này được giải thích dễ dàng hơn nhiều với một ví dụ, vì vậy hãy để Lặn lặn ngay trong: # Transpose a list of lists in Python using itertools from itertools import zip_longest list_of_lists = [ [1,2,3], [4,5,6], [7,8,9,10] ] tranposed_tuples = zip_longest(*list_of_lists, fillvalue=None) transposed_tuples_list = list(tranposed_tuples) print(list(transposed_tuples_list)) # This returns: [(1, 4, 7), (2, 5, 8), (3, 6, 9), (None, None, 10)] # To create a list of each item: transposed = [list(sublist) for sublist in transposed_tuples_list] print(transposed) # Returns # [ # [1, 4, 7], # [2, 5, 8], # [3, 6, 9], # [None, None, 10] # ] Chúng ta có thể thấy ở đây, rằng một hàng thứ tư đã được thêm vào. Chúng tôi đã sử dụng tham số 6 để xác định những gì cần điền vào những khoảng trống bị thiếu này. Phần lớn điều này giống như sử dụng hàm 5, nhưng nó cho phép chúng ta làm việc xung quanh các hạn chế của chức năng đó.Trong hai phần tiếp theo, bạn sẽ học thêm hai phương pháp, đó là triển khai ngây thơ hơn bằng cách sử dụng các vòng lặp và danh sách toàn diện, để chuyển danh sách danh sách. Chuyển đổi danh sách danh sách Python bằng cách sử dụng một vòng lặpPython for-loops là công cụ đáng kinh ngạc để giúp bạn hiểu rõ hơn về cách một số thuật toán có thể hoạt động. Mặc dù chúng có thể không phải lúc nào cũng là cách hiệu quả nhất để hoàn thành một việc gì đó, nhưng chúng có thể dễ dàng theo dõi và ghi lại về những gì mã của bạn đang làm chính xác. Hãy để xem cách chúng ta có thể thực hiện một Python cho Loop để chuyển đổi một mảng dữ liệu hai chiều: # Transpose a list of lists in Python using for loops list_of_lists = [ [1,2,3], [4,5,6], [7,8,9,10] ] transposed = list() for i in range(len(list_of_lists[0])): row = list() for sublist in list_of_lists: row.append(sublist[i]) transposed.append(row) print(transposed) # Returns # [ # [1, 4, 7], # [2, 5, 8], # [3, 6, 9] # ] Những gì chúng tôi đã làm ở đây là như sau:
Trong phần tiếp theo, bạn sẽ học cách biến việc thực hiện vòng lặp này thành một danh sách pythonic hiểu được. Bạn muốn tìm hiểu thêm về cách viết cho các vòng lặp trong Python? Hướng dẫn này sẽ dạy cho bạn tất cả những gì bạn cần biết, bao gồm một số mẹo và thủ thuật nâng cao!This tutorial will teach you all you need to know, including some advanced tips and tricks! Sử dụng danh sách hiểu để chuyển đổi danh sách các danh sách trong PythonTrong nhiều trường hợp, một Python cho Loop có thể được biến thành một danh sách rất được viết tắt. Mặc dù chúng tôi tăng sự ngắn gọn của mã của chúng tôi, chúng tôi có thể hy sinh khả năng đọc mã của chúng tôi. Hãy cùng xem cách chúng ta có thể chuyển đổi danh sách các danh sách bằng cách sử dụng danh sách hiểu biết: 0Chúng ta có thể thấy ở đây rằng chúng ta đã lưu khá nhiều không gian. Chúng tôi không phải khởi tạo hai danh sách trống. Điều đó đang được nói, điều này có thể khó theo dõi hơn một chút, đặc biệt là vì nó khó khăn hơn nhiều để cung cấp nhận xét hướng dẫn cho mỗi bước của con đường. Bạn muốn tìm hiểu thêm về toàn bộ danh sách Python? Kiểm tra hướng dẫn chuyên sâu của tôi về chúng ở đây. Thêm một người học trực quan? Bạn sẽ tìm thấy một video chuyên sâu về chủ đề bên trong hướng dẫn.Check out my in-depth tutorial on them here. More of a visual learner? You’ll find an in-depth video on the topic inside the tutorial. Sự kết luậnTrong bài đăng này, bạn đã học cách chuyển một danh sách python hoặc một mảng 2 chiều. Bạn đã học cách thực hiện việc này bằng cách sử dụng thư viện Khoa học dữ liệu phổ biến 7, cũng như sử dụng chức năng 5 tích hợp, một mình hoặc với thư viện 6. Bạn cũng đã học được một số phương pháp ngây thơ hơn để thực hiện điều này, sử dụng cả hai cho các vòng lặp cũng như sự hiểu biết danh sách python.Để tìm hiểu thêm về phương pháp chuyển vị 7, hãy xem tài liệu chính thức ở đây.
Có nghĩa là gì trong Python?Các .T truy cập thuộc tính t của đối tượng, xảy ra là một mảng numpy.Thuộc tính T là chuyển đổi của mảng, xem tài liệu.accesses the attribute T of the object, which happens to be a NumPy array. The T attribute is the transpose of the array, see the documentation.
Là một danh sách các danh sách một python ma trận?Trong Python, một ma trận có thể được hiểu là danh sách các danh sách.Mỗi phần tử được coi là một hàng của ma trận.a matrix can be interpreted as a list of lists. Each element is treated as a row of the matrix. |