Phản chiếu Khung dữ liệu qua đường chéo chính của nó bằng cách viết các hàng dưới dạng cột và ngược lại. Thuộc tính
list_2d = [[2020, 2021, 2022], ["A", "B", "C"]]
flat_list = [cell for row in list_2d for cell in row]
print[flat_list]
>> [2020, 2021, 2022, 'A', 'B', 'C']
2 là một truy cập vào phương thức list_2d = [[2020, 2021, 2022], ["A", "B", "C"]]
flat_list = [cell for row in list_2d for cell in row]
print[flat_list]
>> [2020, 2021, 2022, 'A', 'B', 'C']
3Tham số*args bộ, tùy chọnĐược chấp nhận để tương thích với NumPy
bản sao bool, mặc định SaiCó sao chép dữ liệu sau khi chuyển đổi hay không, ngay cả đối với DataFrames với một loại duy nhất
Lưu ý rằng một bản sao luôn được yêu cầu cho DataFrames dtype hỗn hợp hoặc cho DataFrames với bất kỳ loại tiện ích mở rộng nào
ReturnsDữ LiệuKhungKhung dữ liệu được chuyển đổi
Xem thêm
list_2d = [[2020, 2021, 2022], ["A", "B", "C"]]
flat_list = [cell for row in list_2d for cell in row]
print[flat_list]
>> [2020, 2021, 2022, 'A', 'B', 'C']
4Hoán vị các kích thước của một mảng nhất định
ghi chú
Chuyển đổi một DataFrame với các loại hỗn hợp sẽ dẫn đến một DataFrame đồng nhất với loại đối tượng. Trong trường hợp như vậy, một bản sao của dữ liệu luôn được tạo
ví dụ
Khung dữ liệu vuông với dtype đồng nhất
>>> d1 = {'col1': [1, 2], 'col2': [3, 4]} >>> df1 = pd.DataFrame[data=d1] >>> df1 col1 col2 0 1 3 1 2 4
>>> df1_transposed = df1.T # or df1.transpose[] >>> df1_transposed 0 1 col1 1 2 col2 3 4
Khi dtype đồng nhất trong DataFrame ban đầu, chúng tôi sẽ nhận được DataFrame được chuyển đổi với cùng một loại
Đối với mảng 1-D, điều này trả về chế độ xem không thay đổi của mảng ban đầu, vì một vectơ được chuyển đổi chỉ đơn giản là cùng một vectơ. Để chuyển đổi mảng 1-D thành vectơ cột 2-D, phải thêm một chiều bổ sung, e. g. ,
list_2d = [[2020, 2021, 2022], ["A", "B", "C"]]
flat_list = [cell for row in list_2d for cell in row]
print[flat_list]
>> [2020, 2021, 2022, 'A', 'B', 'C']
5 đạt được điều này, cũng như list_2d = [[2020, 2021, 2022], ["A", "B", "C"]]
flat_list = [cell for row in list_2d for cell in row]
print[flat_list]
>> [2020, 2021, 2022, 'A', 'B', 'C']
6. Đối với mảng 2 chiều, đây là chuyển vị ma trận tiêu chuẩn. Đối với một mảng n-D, nếu các trục được cung cấp, thứ tự của chúng cho biết cách các trục được hoán vị [xem Ví dụ]. Nếu các trục không được cung cấp, thì list_2d = [[2020, 2021, 2022], ["A", "B", "C"]]
flat_list = [cell for row in list_2d for cell in row]
print[flat_list]
>> [2020, 2021, 2022, 'A', 'B', 'C']
7Thông số . a mảng_likemảng đầu vào
trục tuple hoặc danh sách ints, tùy chọnNếu được chỉ định, nó phải là một bộ hoặc danh sách chứa hoán vị của [0,1,…,N-1] trong đó N là số trục của một. Trục thứ i của mảng được trả về sẽ tương ứng với trục được đánh số
list_2d = [[2020, 2021, 2022], ["A", "B", "C"]]
flat_list = [cell for row in list_2d for cell in row]
print[flat_list]
>> [2020, 2021, 2022, 'A', 'B', 'C']
8 của đầu vào. Nếu không được chỉ định, giá trị mặc định là list_2d = [[2020, 2021, 2022], ["A", "B", "C"]]
flat_list = [cell for row in list_2d for cell in row]
print[flat_list]
>> [2020, 2021, 2022, 'A', 'B', 'C']
9, đảo ngược thứ tự của các trục Khi sử dụng bảng tính, có thể dễ dàng như sử dụng hàm
list_2d = [[2020, 2021, 2022], ["A", "B", "C"]]
flat_list = [cell for row in list_2d for cell in row]
print[flat_list]
>> [2020, 2021, 2022, 'A', 'B', 'C']
2 trên một phạm vi để chuyển đổi các hàng và cột thành các cột và hàng, nhưng làm thế nào để bạn thực hiện điều đó trong Python?Để chuyển đổi danh sách các danh sách trong Python, trước tiên hãy làm phẳng danh sách hai chiều thành danh sách một chiều, sau đó sử dụng cách sau.
list_2d = [[2020, 2021, 2022], ["A", "B", "C"]]
flat_list = [cell for row in list_2d for cell in row]
print[flat_list]
>> [2020, 2021, 2022, 'A', 'B', 'C']
3 trong đó list_2d = [[2020, 2021, 2022], ["A", "B", "C"]]
flat_list = [cell for row in list_2d for cell in row]
print[flat_list]
>> [2020, 2021, 2022, 'A', 'B', 'C']
4 đại diện cho danh sách được làm phẳng và list_2d = [[2020, 2021, 2022], ["A", "B", "C"]]
flat_list = [cell for row in list_2d for cell in row]
print[flat_list]
>> [2020, 2021, 2022, 'A', 'B', 'C']
5 đại diện cho danh sách 2D gốcChuyển đổi Float thành String trong Python
Vui lòng bật JavaScript
Chuyển đổi Float thành String trong PythonVí dụ
Đây là một ví dụ đang chạy về cách thức hoạt động của nó
list_2d = [[2020, 2021, 2022], ["A", "B", "C"]]
# transpose this list so that instead of being a 3 x 2 dimension, it will be a 2 x 3, like so:
transposed_list = [[2020, "A"], [2021, "B"], [2022, "C"]]
Bước đầu tiên là làm phẳng danh sách các danh sách. Khi danh sách các danh sách đã được làm phẳng, bạn có thể tiến hành xây dựng danh sách được chuyển đổi mới
Bất kỳ ví dụ nào được sử dụng trong bài viết về làm phẳng danh sách các danh sách sẽ có thể đạt được kết quả tương tự [chỉ cần áp dụng phương pháp phù hợp nhất với trường hợp sử dụng của bạn], nhưng vì lợi ích của ví dụ này, tôi sẽ sử dụng
Đây là cách nó trông như thế nào cho đến nay bằng cách sử dụng ví dụ hoạt động
list_2d = [[2020, 2021, 2022], ["A", "B", "C"]]
flat_list = [cell for row in list_2d for cell in row]
print[flat_list]
>> [2020, 2021, 2022, 'A', 'B', 'C']
Bây giờ chúng ta đã có thể làm phẳng danh sách 2D ban đầu của mình, bước tiếp theo là lập bản đồ kích thước mới của mỗi ô cần được tham chiếu đến.
Ví dụ: trong danh sách phẳng mới, mỗi phần tử trong danh sách này đến từ danh sách 2D ban đầu và các tọa độ nơi mỗi phần tử đến từ danh sách ban đầu như sau
________số 8Để chuyển đổi danh sách phẳng thành danh sách chuyển đổi, tọa độ của từng phần tử bây giờ cần được chèn vào danh sách danh sách mới trong đó tọa độ trông giống như thế này
new_coord => [R1C1, R2C1, R1C2, R2C2, R1C3, R2C3]
Để nắm bắt các giá trị này từ danh sách phẳng, bạn sẽ cần các tham chiếu chỉ mục sau
>>> df1_transposed = df1.T # or df1.transpose[] >>> df1_transposed 0 1 col1 1 2 col2 3 40
Mẫu này rất quan trọng để xem vì nó có thể hữu ích khi cắt danh sách
Chuyển danh sách 2D
Vì có một mẫu tuyến tính đẹp, chúng ta có thể áp dụng một số phương tiện đơn giản để tạo danh sách danh sách được chuyển đổi mới, đây là một phương pháp như vậy bằng cách sử dụng khả năng hiểu danh sách
>>> df1_transposed = df1.T # or df1.transpose[] >>> df1_transposed 0 1 col1 1 2 col2 3 41
Như bạn có thể thấy từ ví dụ trên, toán tử trải rộng và hiểu danh sách cho phép chuyển danh sách 2D thành kết quả đang được tìm kiếm
Có một số điều diễn ra trong tuyên bố này mà tôi sẽ tách ra, bắt đầu từ điều dễ hiểu nhất là
list_2d = [[2020, 2021, 2022], ["A", "B", "C"]]
flat_list = [cell for row in list_2d for cell in row]
print[flat_list]
>> [2020, 2021, 2022, 'A', 'B', 'C']
6list_2d = [[2020, 2021, 2022], ["A", "B", "C"]]
flat_list = [cell for row in list_2d for cell in row]
print[flat_list]
>> [2020, 2021, 2022, 'A', 'B', 'C']
7 làm gì?
list_2d = [[2020, 2021, 2022], ["A", "B", "C"]]
flat_list = [cell for row in list_2d for cell in row]
print[flat_list]
>> [2020, 2021, 2022, 'A', 'B', 'C']
Để lặp qua một chuỗi số bằng Python, hãy kết hợp câu lệnh
list_2d = [[2020, 2021, 2022], ["A", "B", "C"]]
flat_list = [cell for row in list_2d for cell in row]
print[flat_list]
>> [2020, 2021, 2022, 'A', 'B', 'C']
8 tiêu chuẩn với hàm list_2d = [[2020, 2021, 2022], ["A", "B", "C"]]
flat_list = [cell for row in list_2d for cell in row]
print[flat_list]
>> [2020, 2021, 2022, 'A', 'B', 'C']
9. Hàm list_2d = [[2020, 2021, 2022], ["A", "B", "C"]]
flat_list = [cell for row in list_2d for cell in row]
print[flat_list]
>> [2020, 2021, 2022, 'A', 'B', 'C']
9 có các định dạng sau tùy thuộc vào số lượng tham số bạn đang sử dụng>>> df1_transposed = df1.T # or df1.transpose[] >>> df1_transposed 0 1 col1 1 2 col2 3 47
Nếu chỉ sử dụng một tham số, giả định là một chuỗi bắt đầu từ 0. Do đó, có
flat_list => [2020, 2021, 2022, 'A', 'B', 'C']
orig_coord => [R1C1, R1C2, R1C3, R2C1, R2C2, R2C3]
1 sẽ tạo ra chuỗi flat_list => [2020, 2021, 2022, 'A', 'B', 'C']
orig_coord => [R1C1, R1C2, R1C3, R2C1, R2C2, R2C3]
2Khi nhập 2 hoặc nhiều tham số vào hàm
list_2d = [[2020, 2021, 2022], ["A", "B", "C"]]
flat_list = [cell for row in list_2d for cell in row]
print[flat_list]
>> [2020, 2021, 2022, 'A', 'B', 'C']
9, tham số đầu tiên là giá trị bắt đầu, tham số thứ hai là giá trị dừng [không bao gồm chính nó] và tham số thứ ba [nếu được sử dụng] là gia số từ đầu đến dừngKết hợp câu lệnh
list_2d = [[2020, 2021, 2022], ["A", "B", "C"]]
flat_list = [cell for row in list_2d for cell in row]
print[flat_list]
>> [2020, 2021, 2022, 'A', 'B', 'C']
8 với hàm list_2d = [[2020, 2021, 2022], ["A", "B", "C"]]
flat_list = [cell for row in list_2d for cell in row]
print[flat_list]
>> [2020, 2021, 2022, 'A', 'B', 'C']
9 cho phép sử dụng phép lặp thông qua chuỗi do hàm list_2d = [[2020, 2021, 2022], ["A", "B", "C"]]
flat_list = [cell for row in list_2d for cell in row]
print[flat_list]
>> [2020, 2021, 2022, 'A', 'B', 'C']
9 tạo ra. Do đó, quá trình này hơi giống với các ngôn ngữ khác có vòng lặp for của chúng, chẳng hạn như Javascript có. flat_list => [2020, 2021, 2022, 'A', 'B', 'C']
orig_coord => [R1C1, R1C2, R1C3, R2C1, R2C2, R2C3]
7Cuối cùng, khi sử dụng tất cả những thứ này trong một tập hợp các dấu ngoặc vuông trên một dòng trong Python, bạn đã tạo ra cái được gọi là hiểu danh sách và tính đơn giản của nó tạo ra các kết quả sau
list_2d = [[2020, 2021, 2022], ["A", "B", "C"]]
flat_list = [cell for row in list_2d for cell in row]
print[flat_list]
>> [2020, 2021, 2022, 'A', 'B', 'C']
5Với mục đích có thể chuyển đổi danh sách các danh sách, mục đích của việc sử dụng này là để lặp qua một thứ nguyên và với ví dụ đang chạy, các hàng được sử dụng làm phạm vi để lặp qua, tạo ra danh sách các số chỉ mục sau
list_2d = [[2020, 2021, 2022], ["A", "B", "C"]]
flat_list = [cell for row in list_2d for cell in row]
print[flat_list]
>> [2020, 2021, 2022, 'A', 'B', 'C']
6Điều này cung cấp hạt giống để thu thập dữ liệu cần thiết từ danh sách phẳng
Toán tử lát
Phần thứ hai của câu lệnh, là phần đầu tiên được nhìn thấy, liên quan đến toán tử danh sách lát.
flat_list => [2020, 2021, 2022, 'A', 'B', 'C']
orig_coord => [R1C1, R1C2, R1C3, R2C1, R2C2, R2C3]
8 rất giống với cách thức hoạt động của hàm list_2d = [[2020, 2021, 2022], ["A", "B", "C"]]
flat_list = [cell for row in list_2d for cell in row]
print[flat_list]
>> [2020, 2021, 2022, 'A', 'B', 'C']
9, toán tử lát cắt cho phép sử dụng lấy các giá trị từ danh sách theo các giá trị được sử dụng bên trong trong thao tác cắt látĐây là cách hoạt động của lát cắt này hoạt động với mỗi lần lặp từ hàm
list_2d = [[2020, 2021, 2022], ["A", "B", "C"]]
flat_list = [cell for row in list_2d for cell in row]
print[flat_list]
>> [2020, 2021, 2022, 'A', 'B', 'C']
9list_2d = [[2020, 2021, 2022], ["A", "B", "C"]]
flat_list = [cell for row in list_2d for cell in row]
print[flat_list]
>> [2020, 2021, 2022, 'A', 'B', 'C']
0Vì tất cả những thứ này được gói gọn trong một danh sách hiểu, mỗi kết quả từ thao tác lát ở trên được thêm vào dưới dạng phần tử riêng của nó trong danh sách mới
Tóm lược
Để chuyển đổi danh sách các danh sách trong Python, hãy sử dụng hai bước sau. làm phẳng danh sách các danh sách của bạn thành danh sách một chiều, sau đó sử dụng câu lệnh sau để hoán vị
list_2d = [[2020, 2021, 2022], ["A", "B", "C"]]
flat_list = [cell for row in list_2d for cell in row]
print[flat_list]
>> [2020, 2021, 2022, 'A', 'B', 'C']
0Bạn có thể đưa những gì bạn đã học ở trên vào một hàm 2 dòng đơn giản nếu muốn, có lẽ đại loại như vậy