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

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?

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.

Những gì cho các vòng lặp?

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ự.

our_list = ['Lily', 'Brad', 'Fatima', 'Zining']

for name in our_list:
    print(name)
Lily
Brad
Fatima
Zining

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

Lily
Brad
Fatima
Zining
2 đến từ đâu? Chúng tôi đã định nghĩa nó trước đây trong mã của chúng tôi! Nhưng vì đối với các vòng lặp lặp qua các danh sách, bộ dữ liệu, v.v. theo trình tự, biến này thực sự có thể được gọi là hầu hết mọi thứ. Python sẽ giải thích bất kỳ tên biến nào chúng tôi đặt ở vị trí đó khi đề cập đến từng mục nhập danh sách theo trình tự khi vòng lặp thực thi.where did the variable
Lily
Brad
Fatima
Zining
2 come from?
We haven’t defined it previously in our code! But because for loops iterate through lists, tuples, etc. in sequence, this variable can actually be called almost anything. Python will interpret any variable name we put in that spot as referring to each list entry in sequence as the loop executes.

Vì vậy, trong mã trên:

  • Lily
    Brad
    Fatima
    Zining
    
    2 Điểm vào
    Lily
    Brad
    Fatima
    Zining
    
    4 trên lần lặp đầu tiên của vòng lặp
  • Sau đó
    Lily
    Brad
    Fatima
    Zining
    
    5 trên lần lặp thứ hai của vòng lặp
  • …và như thế.

Đâ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ế

Lily
Brad
Fatima
Zining
2 bằng
Lily
Brad
Fatima
Zining
7, chúng tôi sẽ nhận được kết quả chính xác tương tự:

for x in our_list:
    print(x)
Lily
Brad
Fatima
Zining

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:

for letter in 'Lily':
    print(letter)
L
i
l
y

Sử dụng cho các vòng lặp với danh sách danh sách

Trong 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.

phương tiện giao thôngphạm vigiá bán
Tesla Model 3 LR310 49900
Hyundai Ioniq ev124 30315
Chevy Bolt238 36620

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:

ev_data = [['vehicle', 'range', 'price'], 
           ['Tesla Model 3 LR', '310', '49900'], 
           ['Hyundai Ioniq EV', '124', '30315'],
           ['Chevy Bolt', '238', '36620']]

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

Lily
Brad
Fatima
Zining
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à

Lily
Brad
Fatima
Zining
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
for letter in 'Lily':
    print(letter)
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

for letter in 'Lily':
    print(letter)
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à
Lily
Brad
Fatima
Zining
9. Để làm điều này, chúng tôi sẽ sử dụng số chỉ mục
for letter in 'Lily':
    print(letter)
3 (trong Python, mục đầu tiên trong ANBELBELBE là tại Index
for letter in 'Lily':
    print(letter)
4, mục thứ hai là tại Index
for letter in 'Lily':
    print(letter)
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

for letter in 'Lily':
    print(letter)
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.

for row in ev_data[1:]:         # loop through each row in ev_data starting with row 2 (index 1)
    ev_range = row[1]           # each car's range is found in column 2 (index 1)
    ev_range = int(ev_range)    # convert each range number from a string to an integer
    row[1] = ev_range           # assign range, which is now an integer, back to index 1 in each row

print(ev_data)
[['vehicle', 'range', 'price'], ['Tesla Model 3 LR', 310, '49900'], ['Hyundai Ioniq EV', 124, '30315'], ['Chevy Bolt', 238, '36620']]

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à

for letter in 'Lily':
    print(letter)
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

for letter in 'Lily':
    print(letter)
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
for letter in 'Lily':
    print(letter)
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.)

total_range = 0                     # create a variable to store the total range number

for row in ev_data[1:]:             # loop through each row in ev_data starting with row 2 (index 1)
    ev_range = row[1]               # each car's range is found in column 2 (index 1)
    total_range += ev_range         # add this number to the number stored in total_range

number_of_cars = len(ev_data[1:])   # calculate the length of our list, minus the header row

print(total_range / number_of_cars) # print the average range

Lily
Brad
Fatima
Zining
0

Python 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

L
i
l
y
1 của chúng tôi, lần này trong một vòng duy nhất.

Lily
Brad
Fatima
Zining
1
Lily
Brad
Fatima
Zining
2

Chú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

L
i
l
y
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:

Lily
Brad
Fatima
Zining
3
Lily
Brad
Fatima
Zining
4

Cá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ục

Bạ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ừ

L
i
l
y
3 để lặp qua mỗi số trong một phạm vi được chỉ định. Ví dụ:

Lily
Brad
Fatima
Zining
5
Lily
Brad
Fatima
Zining
6

Lư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

L
i
l
y
4 thành
L
i
l
y
5:

Lily
Brad
Fatima
Zining
7
Lily
Brad
Fatima
Zining
8

Nếu bạn chỉ chỉ định một số duy nhất trong hàm

L
i
l
y
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:

Lily
Brad
Fatima
Zining
9
for x in our_list:
    print(x)
0

Bạn thậm chí có thể thêm một đối số thứ ba vào chức năng

L
i
l
y
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
L
i
l
y
3 với vòng lặp để đếm trong ba người:

for x in our_list:
    print(x)
1
for x in our_list:
    print(x)
2

Phá 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ố

L
i
l
y
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,
L
i
l
y
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à

ev_data = [['vehicle', 'range', 'price'], 
           ['Tesla Model 3 LR', '310', '49900'], 
           ['Hyundai Ioniq EV', '124', '30315'],
           ['Chevy Bolt', '238', '36620']]
1):

for x in our_list:
    print(x)
3

Khi chúng tôi chạy mã này, không có gì được in. Đó là vì tuyên bố

L
i
l
y
9 xuất hiện trước
ev_data = [['vehicle', 'range', 'price'], 
           ['Tesla Model 3 LR', '310', '49900'], 
           ['Hyundai Ioniq EV', '124', '30315'],
           ['Chevy Bolt', '238', '36620']]
3 trong vòng lặp của chúng tôi. Khi Python nhìn thấy
L
i
l
y
9, nó sẽ dừng thực thi vòng lặp và mã xuất hiện sau khi
L
i
l
y
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:

for x in our_list:
    print(x)
4
for x in our_list:
    print(x)
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:

  1. Python kiểm tra xem tên đầu tiên có phải là ‘Zining hay không. Đó là một trò chơi, vì vậy nó tiếp tục thực thi mã bên dưới câu lệnh IF của chúng tôi và in tên đầu tiên.
  2. Python kiểm tra xem tên thứ hai có phải là ‘Zining hay không. Đó là một trò chơi, vì vậy nó tiếp tục thực thi mã bên dưới câu lệnh IF của chúng tôi và in tên thứ hai.
  3. Python kiểm tra xem tên thứ ba có phải là ‘Zining hay không. Đó là một trò chơi, vì vậy nó tiếp tục thực thi mã bên dưới câu lệnh IF của chúng tôi và in tên thứ ba.
  4. Python kiểm tra xem tên thứ tư có phải là ‘Zining hay không. Đó là, vì vậy
    L
    i
    l
    y
    
    9 được thực thi và cho các vòng lặp kết thúc.

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

ev_data = [['vehicle', 'range', 'price'], 
           ['Tesla Model 3 LR', '310', '49900'], 
           ['Hyundai Ioniq EV', '124', '30315'],
           ['Chevy Bolt', '238', '36620']]
7:

for x in our_list:
    print(x)
6
for x in our_list:
    print(x)
7

Trong mã trên, chúng ta có thể thấy rằng Tesla vẫn được thêm vào

ev_data = [['vehicle', 'range', 'price'], 
           ['Tesla Model 3 LR', '310', '49900'], 
           ['Hyundai Ioniq EV', '124', '30315'],
           ['Chevy Bolt', '238', '36620']]
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
L
i
l
y
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,
L
i
l
y
9 đã kết thúc vòng lặp trước khi Python đến hàng Chevy Bolt.

.

Tiếp tục

Khi 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

for row in ev_data[1:]:         # loop through each row in ev_data starting with row 2 (index 1)
    ev_range = row[1]           # each car's range is found in column 2 (index 1)
    ev_range = int(ev_range)    # convert each range number from a string to an integer
    row[1] = ev_range           # assign range, which is now an integer, back to index 1 in each row

print(ev_data)
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

for row in ev_data[1:]:         # loop through each row in ev_data starting with row 2 (index 1)
    ev_range = row[1]           # each car's range is found in column 2 (index 1)
    ev_range = int(ev_range)    # convert each range number from a string to an integer
    row[1] = ev_range           # assign range, which is now an integer, back to index 1 in each row

print(ev_data)
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
for row in ev_data[1:]:         # loop through each row in ev_data starting with row 2 (index 1)
    ev_range = row[1]           # each car's range is found in column 2 (index 1)
    ev_range = int(ev_range)    # convert each range number from a string to an integer
    row[1] = ev_range           # assign range, which is now an integer, back to index 1 in each row

print(ev_data)
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 (

for row in ev_data[1:]:         # loop through each row in ev_data starting with row 2 (index 1)
    ev_range = row[1]           # each car's range is found in column 2 (index 1)
    ev_range = int(ev_range)    # convert each range number from a string to an integer
    row[1] = ev_range           # assign range, which is now an integer, back to index 1 in each row

print(ev_data)
5) và sử dụng
for row in ev_data[1:]:         # loop through each row in ev_data starting with row 2 (index 1)
    ev_range = row[1]           # each car's range is found in column 2 (index 1)
    ev_range = int(ev_range)    # convert each range number from a string to an integer
    row[1] = ev_range           # assign range, which is now an integer, back to index 1 in each row

print(ev_data)
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,:

for x in our_list:
    print(x)
8
for x in our_list:
    print(x)
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

L
i
l
y
9 và
for row in ev_data[1:]:         # loop through each row in ev_data starting with row 2 (index 1)
    ev_range = row[1]           # each car's range is found in column 2 (index 1)
    ev_range = int(ev_range)    # convert each range number from a string to an integer
    row[1] = ev_range           # assign range, which is now an integer, back to index 1 in each row

print(ev_data)
2 trong một tóm tắt:

  • L
    i
    l
    y
    
    9 kết thúc hoàn toàn vòng lặp. Khi Python thực thi
    L
    i
    l
    y
    
    9, vòng lặp FOR đã kết thúc.
  • for row in ev_data[1:]:         # loop through each row in ev_data starting with row 2 (index 1)
        ev_range = row[1]           # each car's range is found in column 2 (index 1)
        ev_range = int(ev_range)    # convert each range number from a string to an integer
        row[1] = ev_range           # assign range, which is now an integer, back to index 1 in each row
    
    print(ev_data)
    
    2 kết thúc một lần lặp cụ thể của vòng lặp và chuyển sang mục tiếp theo trong danh sách. Khi Python thực thi
    for row in ev_data[1:]:         # loop through each row in ev_data starting with row 2 (index 1)
        ev_range = row[1]           # each car's range is found in column 2 (index 1)
        ev_range = int(ev_range)    # convert each range number from a string to an integer
        row[1] = ev_range           # assign range, which is now an integer, back to index 1 in each row
    
    print(ev_data)
    
    2, nó di chuyển ngay lập tức đến lần lặp vòng tiếp theo, nhưng nó không kết thúc hoàn toàn vòng lặp.

Để có thêm một số thực hành với

for row in ev_data[1:]:         # loop through each row in ev_data starting with row 2 (index 1)
    ev_range = row[1]           # each car's range is found in column 2 (index 1)
    ev_range = int(ev_range)    # convert each range number from a string to an integer
    row[1] = ev_range           # assign range, which is now an integer, back to index 1 in each row

print(ev_data)
2, hãy để Lừa lập danh sách các EV tầm ngắn, sử dụng
for row in ev_data[1:]:         # loop through each row in ev_data starting with row 2 (index 1)
    ev_range = row[1]           # each car's range is found in column 2 (index 1)
    ev_range = int(ev_range)    # convert each range number from a string to an integer
    row[1] = ev_range           # assign range, which is now an integer, back to index 1 in each row

print(ev_data)
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
for row in ev_data[1:]:         # loop through each row in ev_data starting with row 2 (index 1)
    ev_range = row[1]           # each car's range is found in column 2 (index 1)
    ev_range = int(ev_range)    # convert each range number from a string to an integer
    row[1] = ev_range           # assign range, which is now an integer, back to index 1 in each row

print(ev_data)
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:

Lily
Brad
Fatima
Zining
0
Lily
Brad
Fatima
Zining
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

for row in ev_data[1:]:         # loop through each row in ev_data starting with row 2 (index 1)
    ev_range = row[1]           # each car's range is found in column 2 (index 1)
    ev_range = int(ev_range)    # convert each range number from a string to an integer
    row[1] = ev_range           # assign range, which is now an integer, back to index 1 in each row

print(ev_data)
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

for row in ev_data[1:]:         # loop through each row in ev_data starting with row 2 (index 1)
    ev_range = row[1]           # each car's range is found in column 2 (index 1)
    ev_range = int(ev_range)    # convert each range number from a string to an integer
    row[1] = ev_range           # assign range, which is now an integer, back to index 1 in each row

print(ev_data)
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
L
i
l
y
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

[['vehicle', 'range', 'price'], ['Tesla Model 3 LR', 310, '49900'], ['Hyundai Ioniq EV', 124, '30315'], ['Chevy Bolt', 238, '36620']]
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

for row in ev_data[1:]:         # loop through each row in ev_data starting with row 2 (index 1)
    ev_range = row[1]           # each car's range is found in column 2 (index 1)
    ev_range = int(ev_range)    # convert each range number from a string to an integer
    row[1] = ev_range           # assign range, which is now an integer, back to index 1 in each row

print(ev_data)
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ổ sung

Hy 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:

  • Hướng dẫn Python tiên tiến cho các vòng lặp - Học cách sử dụng cho các vòng lặp với numpy, gấu trúc và các kỹ thuật tiên tiến khác trong phần tiếp theo này của trò chơi này. – Learn to use for loops with NumPy, Pandas, and other more advanced techniques in this “sequel” to this tutorial.
  • Hướng dẫn Python-Danh sách các hướng dẫn Python ngày càng mở rộng của chúng tôi về khoa học dữ liệu.
  • Các khóa học khoa học dữ liệu - Đưa nghiên cứu của bạn lên một tầm cao mới với các khóa học lập trình, khoa học dữ liệu và thống kê tương tác đầy đủ, ngay trong trình duyệt của bạn.
  • Tài liệu chính thức của Python về các vòng lặp - tài liệu chính thức không đi sâu vào chiều sâu như hướng dẫn này, nhưng nó xem xét những điều cơ bản về các vòng lặp giải thích một số khái niệm liên quan như trong khi các vòng lặp.
  • DataQuest sườn Python Nguyên tắc cơ bản cho khóa học khoa học dữ liệu-Khóa học về nguyên tắc cơ bản Python của chúng tôi cung cấp một giới thiệu từ đầu tư về mã hóa trong Python cho khoa học dữ liệu. Nó bao gồm các danh sách, vòng lặp và nhiều hơn nữa, và bạn có thể viết mã lặp đi lặp lại ngay từ trong trình duyệt của bạn.
  • DataQuest, Python cho khóa học khoa học dữ liệu - Khi bạn cảm thấy như bạn đã thành thạo các vòng lặp và các khái niệm Python cốt lõi khác, đây là một khóa học tương tác khác mà bạn sẽ giúp bạn đưa các kỹ năng Python của bạn lên cấp độ tiếp theo.
  • Bộ dữ liệu miễn phí để thực hành-Thực hành cho các vòng lặp của riêng bạn bằng cách lấy một bộ dữ liệu miễn phí từ một trong các nguồn này và áp dụng các kỹ năng mới của bạn vào các bộ dữ liệu lớn, trong thế giới thực. Các tập dữ liệu trong phần đầu tiên (để trực quan hóa dữ liệu) sẽ hoạt động đặc biệt tốt cho các dự án thực hành vì chúng đã được tương đối sạch sẽ.

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 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?

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?

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).