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

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?

df=pd.DataFrame[r'C:/Users/user.name/Desktop/P_list.xlsx',sheet_name = 'Sheet1']
for i in range[0,5000]:

    df2 = pd.read_excel[r'C:/Users/user.name/Desktop/P_list.xlsx',sheet_name = 'Sheet1'], index = list[range[i,5000,1], columns=list[range[0]]]
    df3 = pd.read_excel[r'C:/Users/user.name/Desktop/P_list.xlsx',sheet_name = 'Sheet1'], index = list[range[i,5000,1], columns=list[range[1]]]
    df4 = pd.read_excel[r'C:/Users/user.name/Desktop/P_list.xlsx',sheet_name = 'Sheet1'], index = list[range[i,5000,1], columns=list[range[2]]]
    df5 = pd.read_excel[r'C:/Users/user.name/Desktop/P_list.xlsx',sheet_name = 'Sheet1'], index = list[range[i,5000,1], columns=list[range[3]]]
    firstname = df2
    lastname = df3
    address = df4
    number= df5

#performed exercise

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


# Iterate all rows using DataFrame.iterrows[]
for index, row in df.iterrows[]:
    print [index,row["Fee"], row["Courses"]]
2,

# Iterate all rows using DataFrame.iterrows[]
for index, row in df.iterrows[]:
    print [index,row["Fee"], row["Courses"]]
3 để lặp qua từng Hàng

Có 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àng

gấu trúc


# Iterate all rows using DataFrame.iterrows[]
for index, row in df.iterrows[]:
    print [index,row["Fee"], row["Courses"]]
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ư

# Iterate all rows using DataFrame.iterrows[]
for index, row in df.iterrows[]:
    print [index,row["Fee"], row["Courses"]]
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


import pandas as pd
technologies = [{
    'Courses':["Spark","PySpark","Hadoop","Python","pandas","Oracle","Java"],
    'Fee' :[20000,25000,26000,22000,24000,21000,22000],
    'Duration':['30day', '40days' ,'35days', '40days', '60days', '50days', '55days']
              }]
df = pd.DataFrame[technologies]
print[df]

Năng suất dưới kết quả. Như bạn thấy DataFrame có 3 cột


# Iterate all rows using DataFrame.iterrows[]
for index, row in df.iterrows[]:
    print [index,row["Fee"], row["Courses"]]
6,

# Iterate all rows using DataFrame.iterrows[]
for index, row in df.iterrows[]:
    print [index,row["Fee"], row["Courses"]]
7 và

# Iterate all rows using DataFrame.iterrows[]
for index, row in df.iterrows[]:
    print [index,row["Fee"], row["Courses"]]
8


   Courses    Fee Duration
0    Spark  20000    30day
1  PySpark  25000   40days
2   Hadoop  26000   35days
3   Python  22000   40days`
4   pandas  24000   60days
5   Oracle  21000   50days
6     Java  22000   55days

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


# Iterate all rows using DataFrame.iterrows[]
for index, row in df.iterrows[]:
    print [index,row["Fee"], row["Courses"]]
2


# Iterate all rows using DataFrame.iterrows[]
for index, row in df.iterrows[]:
    print [index,row["Fee"], row["Courses"]]

Sản lượng dưới sản lượng


# Iterate all rows using DataFrame.iterrows[]
for index, row in df.iterrows[]:
    print [index,row["Fee"], row["Courses"]]
2

Hãy xem một hàng trông như thế nào bằng cách in nó


# Iterate all rows using DataFrame.iterrows[]
for index, row in df.iterrows[]:
    print [index,row["Fee"], row["Courses"]]
3

Sản lượng dưới sản lượng


# Iterate all rows using DataFrame.iterrows[]
for index, row in df.iterrows[]:
    print [index,row["Fee"], row["Courses"]]
4

Lưu ý rằng Sê-ri được trả về từ


# Iterate all rows using DataFrame.iterrows[]
for index, row in df.iterrows[]:
    print [index,row["Fee"], row["Courses"]]
2 không chứa kiểu dữ liệu [

# Iterate all rows using DataFrame.iterrows[]
for index, row in df.iterrows[]:
    print [index,row["Fee"], row["Courses"]]
21], để truy cập kiểu dữ liệu, bạn nên sử dụng

# Iterate all rows using DataFrame.iterrows[]
for index, row in df.iterrows[]:
    print [index,row["Fee"], row["Courses"]]
22. Nếu bạn muốn kiểu dữ liệu cho mỗi hàng, bạn nên sử dụng

# Iterate all rows using DataFrame.iterrows[]
for index, row in df.iterrows[]:
    print [index,row["Fee"], row["Courses"]]
23

Ghi 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àng

Pandas


# Iterate all rows using DataFrame.iterrows[]
for index, row in df.iterrows[]:
    print [index,row["Fee"], row["Courses"]]
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.

# Iterate all rows using DataFrame.iterrows[]
for index, row in df.iterrows[]:
    print [index,row["Fee"], row["Courses"]]
3 nhanh hơn so với

# Iterate all rows using DataFrame.iterrows[]
for index, row in df.iterrows[]:
    print [index,row["Fee"], row["Courses"]]
2 và giữ nguyên kiểu dữ liệu

Dưới đây là cú pháp của


# Iterate all rows using DataFrame.iterrows[]
for index, row in df.iterrows[]:
    print [index,row["Fee"], row["Courses"]]
3


# Iterate all rows using DataFrame.iterrows[]
for index, row in df.iterrows[]:
    print [index,row["Fee"], row["Courses"]]
3
  • 
    # Iterate all rows using DataFrame.iterrows[]
    for index, row in df.iterrows[]:
        print [index,row["Fee"], row["Courses"]]
    
    28 – Mặc định là ‘True’. Trả về Chỉ mục DataFrame dưới dạng phần tử đầu tiên trong bộ dữ liệu. Đặt nó thành Sai, không trả về Chỉ mục
  • 
    # Iterate all rows using DataFrame.iterrows[]
    for index, row in df.iterrows[]:
        print [index,row["Fee"], row["Courses"]]
    
    29 – Mặc định là ‘Gấu trúc’. Bạn có thể cung cấp tên tùy chỉnh cho bộ dữ liệu được trả lại của mình

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


# Iterate all rows using DataFrame.iterrows[]
for index, row in df.iterrows[]:
    print [index,row["Fee"], row["Courses"]]
30


# Iterate all rows using DataFrame.iterrows[]
for index, row in df.iterrows[]:
    print [index,row["Fee"], row["Courses"]]
7

Sản lượng dưới sản lượng


# Iterate all rows using DataFrame.iterrows[]
for index, row in df.iterrows[]:
    print [index,row["Fee"], row["Courses"]]
2

Hãy cung cấp tên tùy chỉnh cho bộ dữ liệu


# Iterate all rows using DataFrame.iterrows[]
for index, row in df.iterrows[]:
    print [index,row["Fee"], row["Courses"]]
9

Sản lượng dưới sản lượng


   Courses    Fee Duration
0    Spark  20000    30day
1  PySpark  25000   40days
2   Hadoop  26000   35days
3   Python  22000   40days`
4   pandas  24000   60days
5   Oracle  21000   50days
6     Java  22000   55days
0

Nếu bạn đặt tham số chỉ mục thành


# Iterate all rows using DataFrame.iterrows[]
for index, row in df.iterrows[]:
    print [index,row["Fee"], row["Courses"]]
31, nó sẽ xóa chỉ mục khỏi phần tử đầu tiên của bộ dữ liệu

4. Khung dữ liệu. áp dụng [] để lặp lại

Bạn cũng có thể sử dụng phương pháp


# Iterate all rows using DataFrame.iterrows[]
for index, row in df.iterrows[]:
    print [index,row["Fee"], row["Courses"]]
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[]


   Courses    Fee Duration
0    Spark  20000    30day
1  PySpark  25000   40days
2   Hadoop  26000   35days
3   Python  22000   40days`
4   pandas  24000   60days
5   Oracle  21000   50days
6     Java  22000   55days
1

Ví dụ


   Courses    Fee Duration
0    Spark  20000    30day
1  PySpark  25000   40days
2   Hadoop  26000   35days
3   Python  22000   40days`
4   pandas  24000   60days
5   Oracle  21000   50days
6     Java  22000   55days
2

Sản lượng dưới sản lượng


   Courses    Fee Duration
0    Spark  20000    30day
1  PySpark  25000   40days
2   Hadoop  26000   35days
3   Python  22000   40days`
4   pandas  24000   60days
5   Oracle  21000   50days
6     Java  22000   55days
3

5. Lặp lại bằng cách sử dụng for và DataFrame. mục lục

Bạn cũng có thể lặp qua các hàng bằng cách sử dụng vòng lặp for.


# Iterate all rows using DataFrame.iterrows[]
for index, row in df.iterrows[]:
    print [index,row["Fee"], row["Courses"]]
33 trả về giá trị hàng đầu tiên từ cột

# Iterate all rows using DataFrame.iterrows[]
for index, row in df.iterrows[]:
    print [index,row["Fee"], row["Courses"]]
7


   Courses    Fee Duration
0    Spark  20000    30day
1  PySpark  25000   40days
2   Hadoop  26000   35days
3   Python  22000   40days`
4   pandas  24000   60days
5   Oracle  21000   50days
6     Java  22000   55days
4

Sản lượng dưới sản lượng


   Courses    Fee Duration
0    Spark  20000    30day
1  PySpark  25000   40days
2   Hadoop  26000   35days
3   Python  22000   40days`
4   pandas  24000   60days
5   Oracle  21000   50days
6     Java  22000   55days
5

6. Sử dụng for và DataFrame. lộc


   Courses    Fee Duration
0    Spark  20000    30day
1  PySpark  25000   40days
2   Hadoop  26000   35days
3   Python  22000   40days`
4   pandas  24000   60days
5   Oracle  21000   50days
6     Java  22000   55days
6

Mang lại sản lượng tương tự như trên

7. Sử dụng For và DataFrame. iloc


   Courses    Fee Duration
0    Spark  20000    30day
1  PySpark  25000   40days
2   Hadoop  26000   35days
3   Python  22000   40days`
4   pandas  24000   60days
5   Oracle  21000   50days
6     Java  22000   55days
7

Sản lượng dưới sản lượng


   Courses    Fee Duration
0    Spark  20000    30day
1  PySpark  25000   40days
2   Hadoop  26000   35days
3   Python  22000   40days`
4   pandas  24000   60days
5   Oracle  21000   50days
6     Java  22000   55days
8

8. Sử dụng Khung dữ liệu. items[] để lặp qua các cột

Khung 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


   Courses    Fee Duration
0    Spark  20000    30day
1  PySpark  25000   40days
2   Hadoop  26000   35days
3   Python  22000   40days`
4   pandas  24000   60days
5   Oracle  21000   50days
6     Java  22000   55days
9

Sản lượng dưới sản lượng


# Iterate all rows using DataFrame.iterrows[]
for index, row in df.iterrows[]:
    print [index,row["Fee"], row["Courses"]]
0

9. Hiệu suất của DataFrame lặp lại

Việ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 


# Iterate all rows using DataFrame.iterrows[]
for index, row in df.iterrows[]:
    print [index,row["Fee"], row["Courses"]]
35 vanilla]

Pandas Iterate Rows Hiệu suất

10. Ví dụ hoàn chỉnh về pandas Iterate over Rows


# Iterate all rows using DataFrame.iterrows[]
for index, row in df.iterrows[]:
    print [index,row["Fee"], row["Courses"]]
1

Phần kết luận

DataFrame 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

Chủ Đề