Lặp lại qua các hàng Excel Python pandas
Tôi cần viết chương trình lặp qua các cột dữ liệu. Đặt lại biến dựa trên giá trị ô và mỗi cột đại diện cho một biến Show
Các biến trong bài tập phụ thuộc vào các giá trị này đang được lặp qua Làm cách nào tôi có thể lặp qua các hàng với mỗi lần lặp của vòng lặp tăng giá trị lên 1? Giống như bất kỳ cấu trúc dữ liệu nào khác, Pandas DataFrame cũng có cách lặp lại (lặp qua từng hàng) qua các hàng và truy cập các cột/phần tử của từng hàng. DataFrame cung cấp các phương thức 2, 3 để lặp qua từng HàngCó liên quan. 10 cách để chọn hàng Pandas dựa trên giá trị cột DataFrame 1. Sử dụng Khung dữ liệu. iterrows() để lặp qua hànggấu trúc 4 được sử dụng để lặp lại các hàng DataFrame. Điều này trả về (chỉ mục, Sê-ri) trong đó chỉ mục là chỉ mục của Hàng và Sê-ri là dữ liệu hoặc nội dung của mỗi hàng. Để lấy dữ liệu từ chuỗi, bạn nên sử dụng tên cột như 5. Để tìm hiểu thêm về truy cập Sê-ri Cách sử dụng Sê-ri với các ví dụĐầu tiên, hãy tạo một DataFrame
Năng suất dưới kết quả. Như bạn thấy DataFrame có 3 cột 6, 7 và 8
Ví dụ dưới đây Lặp lại tất cả các hàng trong DataFrame bằng cách sử dụng 2
Sản lượng dưới sản lượng 2Hãy xem một hàng trông như thế nào bằng cách in nó 3Sản lượng dưới sản lượng 4Lưu ý rằng Sê-ri được trả về từ 2 không chứa kiểu dữ liệu ( 21), để truy cập kiểu dữ liệu, bạn nên sử dụng 22. Nếu bạn muốn kiểu dữ liệu cho mỗi hàng, bạn nên sử dụng 23Ghi chú. Tài liệu của Pandas nói rằng “Bạn không bao giờ được sửa đổi thứ gì đó mà bạn đang lặp đi lặp lại. Điều này không được đảm bảo để làm việc trong mọi trường hợp. Tùy thuộc vào loại dữ liệu, trình vòng lặp trả về một bản sao chứ không phải dạng xem và việc ghi vào nó sẽ không có hiệu lực. ” 2. Sử dụng Khung dữ liệu. itertuples() để lặp qua hàngPandas 23 là phương pháp được sử dụng nhiều nhất để lặp qua các hàng vì nó trả về tất cả các phần tử DataFrame dưới dạng một trình lặp có chứa một bộ cho mỗi hàng. 3 nhanh hơn so với 2 và giữ nguyên kiểu dữ liệuDưới đây là cú pháp của 3 3
Ví dụ dưới đây lặp qua tất cả các phần tử trong một bộ và lấy giá trị của từng cột bằng cách sử dụng 30 7Sản lượng dưới sản lượng 2Hãy cung cấp tên tùy chỉnh cho bộ dữ liệu 9Sản lượng dưới sản lượng 0Nếu bạn đặt tham số chỉ mục thành 31, nó sẽ xóa chỉ mục khỏi phần tử đầu tiên của bộ dữ liệu4. Khung dữ liệu. áp dụng () để lặp lạiBạn cũng có thể sử dụng phương pháp 32 của DataFrame để lặp qua các hàng bằng cách sử dụng hàm lambda. Để biết thêm chi tiết, hãy tham khảo DataFrame. áp dụng() 1Ví dụ 2Sản lượng dưới sản lượng 35. Lặp lại bằng cách sử dụng for và DataFrame. mục lụcBạn cũng có thể lặp qua các hàng bằng cách sử dụng vòng lặp for. 33 trả về giá trị hàng đầu tiên từ cột 7 4Sản lượng dưới sản lượng 56. Sử dụng for và DataFrame. lộc 6Mang lại sản lượng tương tự như trên 7. Sử dụng For và DataFrame. iloc 7Sản lượng dưới sản lượng 88. Sử dụng Khung dữ liệu. items() để lặp qua các cộtKhung dữ liệu. items() được sử dụng để lặp qua các cột (từng cột) của pandas DataFrame. Điều này trả về một tuple (tên cột, Sê-ri) với tên và nội dung là Sê-ri Giá trị đầu tiên trong bộ trả về chứa tên nhãn cột và giá trị thứ hai chứa nội dung/dữ liệu của DataFrame dưới dạng một chuỗi 9Sản lượng dưới sản lượng 09. Hiệu suất của DataFrame lặp lạiViệc lặp lại DataFrame không được khuyến nghị hoặc khuyến nghị sử dụng vì hiệu suất sẽ rất tệ khi lặp qua tập dữ liệu lớn. Hãy chắc chắn rằng bạn chỉ sử dụng cái này khi bạn sử dụng hết tất cả các tùy chọn khác. Trước khi sử dụng các ví dụ được đề cập trong bài viết này, hãy kiểm tra xem bạn có thể sử dụng bất kỳ ví dụ nào trong số này không 1) Véc tơ hóa, 2) Quy trình Cython, 3) Hiểu danh sách (vòng lặp 35 vanilla)10. Ví dụ hoàn chỉnh về pandas Iterate over Rows 1Phần kết luậnDataFrame cung cấp một số phương thức để lặp qua các hàng (lặp qua từng hàng) và truy cập các cột/ô. Nhưng không nên lặp thủ công các hàng vì nó làm giảm hiệu suất của ứng dụng khi được sử dụng trên các bộ dữ liệu lớn. Mỗi ví dụ được giải thích trong bài viết này hoạt động khác nhau, vì vậy tùy thuộc vào trường hợp sử dụng của bạn, hãy sử dụng ví dụ phù hợp với nhu cầu của bạn |