Hướng dẫn how do you get data from a for loop in python? - làm cách nào để lấy dữ liệu từ vòng lặp for trong python?
Ngày 30 tháng 5 năm 2019 Khi bạn làm việc với dữ liệu trong Python, đối với các vòng lặp có thể là một công cụ mạnh mẽ. Nhưng họ cũng có thể hơi khó hiểu khi bạn mới bắt đầu. Trong hướng dẫn này, chúng tôi sẽ đi đầu vào các vòng lặp và tìm hiểu làm thế nào chúng có thể được sử dụng để làm tất cả các loại điều thú vị khi bạn làm sạch dữ liệu hoặc phân tích dữ liệu trong Python.for loops can be a powerful tool. But they can also be a little bit confusing when you’re just starting out. In this tutorial, we’re going to dive headfirst into for loops and learn how they can be used to do all sorts of interesting things when you’re doing data
cleaning or data analysis in Python. Hướng dẫn này dành cho người mới bắt đầu Python, nhưng nếu bạn chưa bao giờ viết một dòng mã trước đây, bạn có thể muốn bắt đầu bằng cách bắt đầu khóa học về nguyên tắc cơ bản miễn phí để bắt đầu của chúng tôi, vì chúng tôi sẽ không bao gồm cơ bản Cú pháp ở đây. Trong bối cảnh của hầu hết các công việc khoa học dữ liệu, Python cho các vòng lặp được sử dụng để lặp qua một đối tượng có thể lặp lại (như một danh sách, tuple, set, v.v.) và thực hiện cùng một hành động cho mỗi mục. Ví dụ, một vòng lặp cho chúng tôi cho phép chúng tôi lặp lại thông qua một danh sách, thực hiện hành động tương tự trên mỗi mục trong danh sách.iterable object (like a list, tuple, set, etc.) and perform the same action for each entry. For example, a for loop would allow us to iterate through a list, performing the same action on each item in the list. . Trong các mục thứ tự được liệt kê. Chuỗi có thể lặp lại và trả về một ký tự tại một thời điểm, theo thứ tự các ký tự xuất hiện. ETC.) Bạn tạo một vòng lặp for bằng cách trước tiên xác định đối tượng có thể lặp lại mà bạn muốn lặp qua, và sau đó xác định các hành động mà bạn muốn thực hiện trên mỗi mục trong đối tượng có thể. Ví dụ: khi lặp qua một danh sách, trước tiên bạn chỉ định danh sách mà bạn muốn lặp lại, và sau đó chỉ định hành động nào bạn muốn thực hiện trên mỗi mục danh sách. Hãy cùng xem xét một ví dụ nhanh: Nếu chúng ta có một danh sách các tên được lưu trữ trong Python, chúng ta có thể sử dụng một vòng lặp để lặp qua danh sách đó, in từng tên cho đến khi nó đi đến cuối. Dưới đây, chúng tôi sẽ tạo danh sách các tên của chúng tôi, và sau đó viết một vòng lặp được lặp lại thông qua nó, in từng mục trong danh sách theo trình tự. Mã này trong vòng lặp đơn giản này đặt ra một câu hỏi, mặc dù: biến Vì vậy, trong mã trên:
Đây sẽ là trường hợp bất kể chúng tôi gọi là biến đó. Vì vậy, nếu, ví dụ, chúng tôi viết lại mã của mình để thay thế 2 bằng 7, chúng tôi sẽ nhận được kết quả chính xác tương tự:
Lưu ý rằng kỹ thuật này hoạt động với bất kỳ đối tượng có thể lặp lại. Ví dụ, các chuỗi có thể sử dụng được và chúng ta có thể sử dụng cùng một loại vòng lặp để lặp qua từng ký tự trong một chuỗi:
Sử dụng cho các vòng lặp với danh sách danh sáchTrong công việc phân tích dữ liệu thực tế, nó không có khả năng chúng tôi sẽ làm việc với các danh sách ngắn, đơn giản như phần trên. Nói chung, chúng tôi sẽ phải làm việc với các bộ dữ liệu ở định dạng bảng, với nhiều hàng và cột. Loại dữ liệu này có thể được lưu trữ trong Python như một danh sách các danh sách, trong đó mỗi hàng của một bảng được lưu trữ dưới dạng danh sách trong danh sách các danh sách và chúng tôi cũng có thể sử dụng các vòng lặp để lặp lại thông qua chúng. Để tìm hiểu cách thực hiện việc này, hãy để xem một kịch bản thực tế hơn và khám phá bảng dữ liệu nhỏ này chứa một số giá của Hoa Kỳ và ước tính phạm vi EPA của Hoa Kỳ cho một số xe điện.
Chúng ta có thể diễn đạt cùng một tập dữ liệu này như một danh sách các danh sách, như vậy:
Bạn có thể nhận thấy rằng trong danh sách trên, phạm vi và số giá của chúng tôi thực sự được lưu trữ dưới dạng chuỗi chứ không phải số nguyên. Không có gì lạ khi bạn sẽ nhận được dữ liệu được lưu trữ theo cách này, nhưng để phân tích, chúng tôi muốn chuyển đổi các chuỗi đó thành số nguyên để chúng tôi có thể thực hiện một số tính toán với chúng. Hãy để sử dụng một vòng lặp cho vòng lặp để giao thoa thông qua danh sách danh sách của chúng tôi, chọn mục 8 trong mỗi danh sách và thay đổi nó từ một chuỗi thành số nguyên.Để làm điều đó, chúng ta cần phải làm một vài điều. Đầu tiên, chúng ta cần bỏ qua hàng đầu tiên trong bảng của mình, vì đó là tên cột và chúng ta sẽ gặp lỗi nếu chúng ta cố gắng chuyển đổi một chuỗi không phải là 9 thành một số nguyên. Chúng tôi có thể thực hiện việc này bằng cách sử dụng cắt danh sách để chọn từng hàng sau hàng đầu tiên bằng cách sử dụng 0. .Sau đó, chúng tôi sẽ lặp qua danh sách danh sách và đối với mỗi lần lặp, chúng tôi sẽ chọn phần tử trong cột 1, đây là cột thứ hai trong bảng của chúng tôi. Chúng tôi sẽ gán giá trị được tìm thấy trong cột này cho một biến gọi là 9. Để làm điều này, chúng tôi sẽ sử dụng số chỉ mục 3 (trong Python, mục đầu tiên trong ANBELBELBE là tại Index 4, mục thứ hai là tại Index 3, v.v.).Cuối cùng, chúng tôi sẽ chuyển đổi các số phạm vi thành số nguyên bằng hàm 6 tích hợp của Python và thay thế các chuỗi gốc bằng các số nguyên này trong tập dữ liệu của chúng tôi.
Bây giờ chúng tôi đã có những giá trị được lưu trữ dưới dạng số nguyên, chúng tôi cũng có thể sử dụng một vòng lặp để thực hiện một số tính toán. Ví dụ, hãy nói rằng, chúng tôi muốn tìm ra phạm vi trung bình của EV trong danh sách này. Chúng tôi cần thêm các số phạm vi lại với nhau, và sau đó chia chúng cho tổng số xe trong danh sách của chúng tôi. Một lần nữa, chúng ta có thể sử dụng một vòng lặp For để chọn cột cụ thể mà chúng ta cần trong tập dữ liệu của mình. Chúng tôi sẽ bắt đầu bằng cách tạo một biến có tên là 7 nơi chúng tôi có thể lưu trữ tổng của các phạm vi. Sau đó, chúng tôi sẽ viết một vòng khác cho vòng lặp, một lần nữa bỏ qua hàng tiêu đề và một lần nữa xác định cột thứ hai (chỉ mục 1) là giá trị phạm vi.Sau đó, tất cả những gì chúng ta cần làm là thêm giá trị này vào 7 trong vòng lặp của chúng tôi và sau đó tính toán giá trị bằng cách sử dụng 7 chia cho số lượng xe sau khi vòng lặp hoàn thành.. rất dễ tính, nhưng điều đó sẽ phá vỡ tính toán của chúng tôi nếu thêm dữ liệu xe hơi được thêm vào danh sách. Dữ liệu được đặt trong tương lai, chúng tôi có thể chạy lại mã này và nó vẫn sẽ tạo ra câu trả lời chính xác.)
0Python cho các vòng lặp rất mạnh mẽ và bạn có thể làm tổ các hướng dẫn phức tạp hơn bên trong chúng. Để chứng minh điều này, hãy để Lừa lặp lại hai bước trên cho cột 1 của chúng tôi, lần này trong một vòng duy nhất. 1 2Chúng ta cũng có thể làm tổ các yếu tố khác, như nếu các câu lệnh khác và thậm chí khác cho các vòng lặp, trong các vòng lặp. Ví dụ, hãy tưởng tượng chúng tôi muốn tìm mọi chiếc xe với phạm vi lớn hơn 200 dặm trong danh sách của chúng tôi. Chúng tôi có thể bắt đầu bằng cách tạo một danh sách trống mới để giữ dữ liệu xe tầm xa của chúng tôi. Sau đó, chúng tôi sẽ sử dụng một vòng lặp để lặp lại thông qua 2, danh sách các danh sách chứa dữ liệu xe hơi chúng tôi đã tạo trước đó, chỉ nối một hàng xe hơi vào danh sách tầm xa của chúng tôi chỉ khi giá trị phạm vi của nó trên 200: 3 4Các hoạt động này cũng sẽ đơn giản để thực hiện bằng tay với một bộ dữ liệu nhỏ như vậy, tất nhiên. Nhưng các kỹ thuật tương tự này sẽ hoạt động trên các bộ dữ liệu với hàng ngàn và hàng ngàn hàng, có thể làm cho việc làm sạch, sắp xếp và phân tích các bộ dữ liệu khổng lồ thành công việc rất nhanh. Các kỹ thuật hữu ích khác: phạm vi, phá vỡ và tiếp tụcBạn có thể nhận được một số dặm đáng ngạc nhiên cho các vòng lặp chỉ bằng cách làm chủ các kỹ thuật được mô tả ở trên, nhưng hãy đi sâu hơn nữa và tìm hiểu một vài điều khác có thể hữu ích, ngay cả khi bạn sử dụng chúng ít thường xuyên hơn trong bối cảnh dữ liệu Công việc khoa học. Phạm viĐối với các vòng lặp có thể được sử dụng song song với chức năng Python từ 3 để lặp qua mỗi số trong một phạm vi được chỉ định. Ví dụ: 5 6Lưu ý rằng Python không bao gồm giá trị tối đa của một phạm vi trong số lượng phạm vi, đó là lý do tại sao số 9 không xuất hiện ở trên. Nếu chúng tôi muốn mã này được tính từ 5 đến 9 bao gồm 9, chúng tôi cần phải thay đổi 4 thành 5: 7 8Nếu bạn chỉ chỉ định một số duy nhất trong hàm 3 của mình, Python sẽ coi đó là giá trị tối đa và gán giá trị tối thiểu mặc định là 0: 9 0Bạn thậm chí có thể thêm một đối số thứ ba vào chức năng 3 để chỉ định rằng bạn muốn tính theo mức tăng của một số cụ thể. Như bạn có thể thấy ở trên, giá trị mặc định là 1, nhưng nếu bạn thêm đối số thứ ba là 3, ví dụ, bạn có thể sử dụng 3 với vòng lặp để đếm trong ba người: 1 2Phá vỡTheo mặc định, một vòng lặp cho vòng lặp sẽ lặp qua từng lần lặp có thể của đối tượng liên kết mà bạn đã gán nó. Thông thường khi chúng tôi sử dụng một vòng lặp cho vòng lặp, vì chúng tôi muốn thực hiện cùng một hành động trên từng mục trong danh sách của chúng tôi (ví dụ). Tuy nhiên, đôi khi, chúng tôi có thể muốn dừng vòng lặp của bạn nếu một điều kiện nhất định được đáp ứng. Trong trường hợp đó, tuyên bố 9 là hữu ích. Khi được sử dụng với một câu lệnh IF bên trong một vòng lặp, 9 cho phép chúng ta thoát khỏi vòng lặp đó trước khi kết thúc.Trước tiên, hãy xem xét một ví dụ nhanh chóng, sử dụng danh sách các tên mà chúng tôi đã tạo trước đó gọi là 1): 3Khi chúng tôi chạy mã này, không có gì được in. Đó là vì tuyên bố 9 xuất hiện trước 3 trong vòng lặp của chúng tôi. Khi Python nhìn thấy 9, nó sẽ dừng thực thi vòng lặp và mã xuất hiện sau khi 9 trong vòng lặp không chạy.Hãy để thêm một câu lệnh IF vào vòng lặp này, để chúng ta thoát ra khỏi vòng lặp khi Python đến tên Zining: 4 5Ở đây, chúng ta có thể thấy rằng cái tên Zining đã được in. Ở đây, những gì mà xảy ra với mỗi lần lặp lại vòng lặp:
Hãy để trở lại với mã mà chúng tôi đã viết để thu thập dữ liệu xe EV tầm xa và làm việc thông qua một ví dụ nữa. Chúng tôi sẽ chèn một câu lệnh break dừng giao diện ngay khi nó gặp chuỗi 7: 6 7Trong mã trên, chúng ta có thể thấy rằng Tesla vẫn được thêm vào 8, bởi vì chúng tôi đã thêm nó vào danh sách đó trước câu lệnh IF mà chúng tôi đã sử dụng 9. Bolt Chevy không được thêm vào danh sách của chúng tôi, bởi vì mặc dù nó có phạm vi hơn 200 dặm, 9 đã kết thúc vòng lặp trước khi Python đến hàng Chevy Bolt.. Tiếp tụcKhi chúng tôi lặp đi qua một đối tượng có thể lặp lại như một danh sách, chúng tôi cũng có thể gặp phải các tình huống mà chúng tôi muốn bỏ qua một hàng hoặc hàng cụ thể. Đối với các tình huống đơn giản như bỏ qua một hàng tiêu đề, chúng ta có thể sử dụng việc cắt danh sách, nhưng nếu chúng ta muốn bỏ qua các hàng dựa trên các điều kiện phức tạp hơn, điều này nhanh chóng trở nên không thực tế. Thay vào đó, chúng ta có thể sử dụng câu lệnh 2 để bỏ qua một lần lặp duy nhất (vòng lặp lặp) của một vòng lặp và di chuyển sang hình tiếp theo.Khi Python nhìn thấy 2 trong khi thực hiện một vòng lặp For trong danh sách, chẳng hạn, nó sẽ dừng lại ở thời điểm đó và chuyển sang mục tiếp theo trong danh sách. Bất kỳ mã nào ở dưới 2 sẽ không được thực thi.Hãy để Lùi lại danh sách tên của chúng tôi ( 5) và sử dụng 2 với câu lệnh IF để kết thúc một lần lặp lặp trước khi in nếu tên là ‘Brad,: 8 9Ở trên, chúng ta có thể thấy rằng tên Brad, đã bị bỏ qua và phần còn lại của các tên trong danh sách của chúng ta đã được in theo trình tự. Điều đó minh họa cho sự khác biệt giữa 9 và 2 trong một tóm tắt:
Để có thêm một số thực hành với 2, hãy để Lừa lập danh sách các EV tầm ngắn, sử dụng 2 để thực hiện một cách tiếp cận hơi khác. Thay vì xác định EVS với phạm vi dưới 200 dặm, chúng tôi sẽ viết một vòng lặp cho mỗi EV vào danh sách tầm ngắn của chúng tôi, nhưng với câu lệnh 2 trước khi chúng tôi nối vào danh sách mới chạy nếu phạm vi lớn hơn hơn 200: 0 1Đó có lẽ không phải là cách hiệu quả và dễ đọc nhất để tạo ra danh sách xe tầm ngắn của chúng tôi, nhưng nó chứng minh cách thức hoạt động của 2, vì vậy hãy để Lừa đi qua chính xác những gì xảy ra ở đây.Trên vòng lặp đầu tiên của mình, Python đang nhìn vào hàng Tesla. Chiếc xe đó có phạm vi EV hơn 200 dặm, vì vậy, Python thấy câu lệnh IF là đúng và thực hiện 2 lồng vào bên trong câu lệnh IF, điều này khiến nó ngay lập tức chuyển sang hàng tiếp theo của 2 để bắt đầu vòng lặp tiếp theo.Trên vòng lặp thứ hai, Python đang nhìn vào hàng tiếp theo, đó là hàng Hyundai. Chiếc xe đó có phạm vi dưới 200 dặm, vì vậy, Python thấy rằng câu lệnh IF có điều kiện không được đáp ứng và thực hiện phần còn lại của mã trong vòng lặp, nối lại hàng Hyundai lên 9.Trên vòng thứ ba và cuối cùng, Python đang nhìn vào hàng Chevy. Chiếc xe đó có phạm vi hơn 200 dặm, điều đó có nghĩa là câu lệnh nếu có điều kiện là đúng. Do đó, Python một lần nữa thực hiện 2 lồng nhau, kết thúc vòng lặp và, vì không có thêm hàng dữ liệu nào trong tập dữ liệu của chúng tôi, kết thúc hoàn toàn vòng lặp.Tài nguyên bổ sungHy vọng rằng tại thời điểm này, bạn cảm thấy thoải mái với các vòng lặp trong Python và bạn có ý tưởng về cách chúng có thể hữu ích cho các nhiệm vụ khoa học dữ liệu phổ biến như làm sạch dữ liệu, chuẩn bị dữ liệu và phân tích dữ liệu. Sẵn sàng cho bước tiếp theo chưa? Dưới đây là một số tài nguyên bổ sung để kiểm tra:
Chúc may mắn, và lặp lại hạnh phúc! Hướng dẫn này có giúp ích gì không?Chọn con đường của bạn để tiếp tục học các kỹ năng dữ liệu có giá trị. Hướng dẫn Python Thực hành các kỹ năng lập trình Python của bạn khi bạn làm việc thông qua các hướng dẫn miễn phí của chúng tôi. Các khóa học khoa học dữ liệu Cam kết nghiên cứu của bạn với các khóa học khoa học dữ liệu trong trình duyệt tương tác của chúng tôi ở Python, R, SQL, v.v. Làm cách nào để lấy dữ liệu ra khỏi một vòng lặp trong Python?Một câu lệnh trả về phá vỡ một vòng lặp. Vì vậy, điều này không cho phép vòng lặp tiếp tục thực thi. Để giải quyết vấn đề này, bạn có thể lưu trữ dữ liệu bên trong vòng lặp và đặt câu lệnh trả về bên ngoài hàm.store the data inside the for loop and place the return statement outside the function.
Làm thế nào để bạn trích xuất dữ liệu từ một vòng lặp?Để truyền dữ liệu ra khỏi cấu trúc vòng lặp, hành vi của đường hầm và hiệu ứng của việc lập chỉ mục tự động cũng giống như khi truyền dữ liệu vào vòng lặp. Nếu chúng ta kích hoạt lập chỉ mục tự động, các giá trị mà vòng lặp tạo sẽ tích lũy thành một mảng, sau đó sẽ được truyền từ cấu trúc dưới dạng một mảng các giá trị.If we enable Auto Indexing, the values that the loop generates will accumulate into an array, which will then be passed from the structure as an array of values.
Làm thế nào để bạn trả về một giá trị từ một vòng lặp trong Python?Chỉ cần trả lại danh sách.Một hàm chỉ có thể trả về một đối tượng.Nếu bạn muốn có nhiều giá trị, bạn phải trả lại nó trong một đối tượng thu thập thuộc loại nào đó (danh sách, tuple, set, dict, v.v.) trong ví dụ của bạn, bạn có thể trả lại danh sách trực tiếp hoặc bạn có thể trả lại dữ liệu trong một sốĐối tượng với một bản sao của dữ liệu.return the list. A function can only return one object. If you want multiple values, you have to return it in a collection object of some sort (list, tuple, set, dict, etc.) In your example, you could return the list directly, or you could return the data in some other object with a copy of the data.
Làm cách nào để đặt kết quả của một vòng lặp vào một khung dữ liệu trong Python?Bước 1 - Nhập thư viện.Nhập GANDAS dưới dạng PD..... Bước 2 - Thiết lập dữ liệu.df = pd.dataFrame ({'Bảng 9': [9,18,27], 'Bảng 10': [10,20,30]}) .... Bước 3 - Bấp tới DataFrame trong A For Loop.Đối với i trong phạm vi (4,11): df = df.Append ({'Bảng 9': i*9, 'Bảng 10': i*10}, bỏ qua_index = true) ... Bước 4 - Kết quả in.in ('df \ n', df). |