Hướng dẫn read last row of csv python pandas - đọc hàng cuối cùng của csv python gấu trúc

Chỉ cần sử dụng

           Date  Cases
0      9/1/2014     45
121  12/31/2014     97
8 và
           Date  Cases
0      9/1/2014     45
121  12/31/2014     97
9 và
           Date  Cases
0      9/1/2014     45
1      9/2/2014    104
2      9/3/2014     47
3      9/4/2014    108
4      9/5/2014     49
112  12/22/2014     30
113  12/23/2014     81
114  12/24/2014     99
115  12/25/2014     85
116  12/26/2014     55
117  12/27/2014     91
118  12/28/2014     68
119  12/29/2014    109
120  12/30/2014     55
121  12/31/2014     97
0. Bạn thậm chí có thể điều chỉnh số lượng hàng.

import pandas as pd

df = pd.read_csv["flu.csv"]
top = df.head[1]
bottom = df.tail[1]
concatenated = pd.concat[[top,bottom]]

print concatenated

Result:

           Date  Cases
0      9/1/2014     45
121  12/31/2014     97

Điều chỉnh

           Date  Cases
0      9/1/2014     45
121  12/31/2014     97
8 và
           Date  Cases
0      9/1/2014     45
121  12/31/2014     97
9 để lấy 5 hàng từ trên cùng và 10 từ dưới cùng ...

           Date  Cases
0      9/1/2014     45
1      9/2/2014    104
2      9/3/2014     47
3      9/4/2014    108
4      9/5/2014     49
112  12/22/2014     30
113  12/23/2014     81
114  12/24/2014     99
115  12/25/2014     85
116  12/26/2014     55
117  12/27/2014     91
118  12/28/2014     68
119  12/29/2014    109
120  12/30/2014     55
121  12/31/2014     97

Một cách tiếp cận có thể được sử dụng nếu bạn không muốn tải toàn bộ tệp CSV như một DataFrame là xử lý chúng dưới dạng CSV. Mã sau đây tương tự như cách tiếp cận của bạn.

import pandas as pd
import csv

top = pd.read_csv["flu.csv", nrows=1]
headers = top.columns.values

with open["flu.csv", "r"] as f, open["flu2.csv","w"] as g:
    last_line = f.readlines[][-1].strip[].split[","]
    c = csv.writer[g]
    c.writerow[headers]
    c.writerow[last_line]

bottom = pd.read_csv["flu2.csv"]
concatenated = pd.concat[[top, bottom]]
concatenated.reset_index[inplace=True, drop=True]

print concatenated

Kết quả là như nhau, ngoại trừ chỉ số. Được thử nghiệm so với một triệu hàng và nó đã được xử lý trong khoảng một giây.

        Date  Cases
0   9/1/2014     45
1  7/25/4885     99
[Finished in 0.9s]

Làm thế nào nó quy mô so với 15 triệu hàng, có thể đó là trò chơi bóng của bạn bây giờ. Vì vậy, tôi quyết định kiểm tra nó so với chính xác 15.728.626 hàng và kết quả có vẻ đủ tốt.

        Date  Cases
0   9/1/2014     45
1  7/25/4885     99
[Finished in 3.3s]

in [đánh giá_df. head []].

Xây dựng vấn đề

Đưa ra: Hãy xem xét tệp CSV sau [Lưu ý: Bạn cần sử dụng nó như một gấu trúc DataFrame].Consider the following csv file [Note: You need to use it as a Pandas DataFrame].

import pandas as pd

df = pd.read_csv['countries.csv']
print[df]
    Country     Capital     Population      Area
0    Germany     Berlin     84,267,549      348,560
1    France      Paris      65,534,239      547,557
2    Spain       Madrid     46,787,468      498,800
3    Italy       Rome       60,301,346      294,140
4    India       Delhi      1,404,495,187   2,973,190
5    USA       Washington   334,506,463     9,147,420
6    China      Beijing     1,449,357,022   9,388,211
7    Poland      Warsaw     37,771,789      306,230
8    Russia      Moscow     146,047,418     16,376,870
9    England     London     68,529,747      241,930

Tại đây, danh sách các câu hỏi mà chúng tôi sẽ tập trung vào bài viết này:

  • Làm thế nào để có được n hàng cuối cùng của một gấu trúc dữ liệu?
  • Làm thế nào để có được n hàng cuối cùng từ các cột n cuối cùng của một khung dữ liệu gấu trúc?
  • Làm thế nào để đọc n hàng cuối cùng của một tệp CSV lớn trong gấu trúc?

Được đề xuất Đọc: Cách chọn Hàng từ DataFrame dựa trên các giá trị cột?

Không chậm trễ hơn nữa, chúng ta hãy đi sâu vào các giải pháp cho câu hỏi đầu tiên và tìm hiểu làm thế nào để có được n hàng cuối cùng của một khung dữ liệu gấu trúc.

Phương pháp 1: Sử dụng ILOC

Cách tiếp cận: Sử dụng thuộc tính

           Date  Cases
0      9/1/2014     45
1      9/2/2014    104
2      9/3/2014     47
3      9/4/2014    108
4      9/5/2014     49
112  12/22/2014     30
113  12/23/2014     81
114  12/24/2014     99
115  12/25/2014     85
116  12/26/2014     55
117  12/27/2014     91
118  12/28/2014     68
119  12/29/2014    109
120  12/30/2014     55
121  12/31/2014     97
3 là
           Date  Cases
0      9/1/2014     45
1      9/2/2014    104
2      9/3/2014     47
3      9/4/2014    108
4      9/5/2014     49
112  12/22/2014     30
113  12/23/2014     81
114  12/24/2014     99
115  12/25/2014     85
116  12/26/2014     55
117  12/27/2014     91
118  12/28/2014     68
119  12/29/2014    109
120  12/30/2014     55
121  12/31/2014     97
4.
Use the
           Date  Cases
0      9/1/2014     45
1      9/2/2014    104
2      9/3/2014     47
3      9/4/2014    108
4      9/5/2014     49
112  12/22/2014     30
113  12/23/2014     81
114  12/24/2014     99
115  12/25/2014     85
116  12/26/2014     55
117  12/27/2014     91
118  12/28/2014     68
119  12/29/2014    109
120  12/30/2014     55
121  12/31/2014     97
3 property as
           Date  Cases
0      9/1/2014     45
1      9/2/2014    104
2      9/3/2014     47
3      9/4/2014    108
4      9/5/2014     49
112  12/22/2014     30
113  12/23/2014     81
114  12/24/2014     99
115  12/25/2014     85
116  12/26/2014     55
117  12/27/2014     91
118  12/28/2014     68
119  12/29/2014    109
120  12/30/2014     55
121  12/31/2014     97
4.

Thuộc tính

           Date  Cases
0      9/1/2014     45
1      9/2/2014    104
2      9/3/2014     47
3      9/4/2014    108
4      9/5/2014     49
112  12/22/2014     30
113  12/23/2014     81
114  12/24/2014     99
115  12/25/2014     85
116  12/26/2014     55
117  12/27/2014     91
118  12/28/2014     68
119  12/29/2014    109
120  12/30/2014     55
121  12/31/2014     97
3 được sử dụng để có hoặc đặt các giá trị của các chỉ số được chỉ định. Chọn n hàng cuối cùng bằng cú pháp ký hiệu khung vuông [-N:] với thuộc tính
           Date  Cases
0      9/1/2014     45
1      9/2/2014    104
2      9/3/2014     47
3      9/4/2014    108
4      9/5/2014     49
112  12/22/2014     30
113  12/23/2014     81
114  12/24/2014     99
115  12/25/2014     85
116  12/26/2014     55
117  12/27/2014     91
118  12/28/2014     68
119  12/29/2014    109
120  12/30/2014     55
121  12/31/2014     97
3. Ở đây, -n đại diện cho chỉ số của n hàng cuối cùng của DataFrame Pandas đã cho.n rows using the square bracket notation syntax [-n:] with the
           Date  Cases
0      9/1/2014     45
1      9/2/2014    104
2      9/3/2014     47
3      9/4/2014    108
4      9/5/2014     49
112  12/22/2014     30
113  12/23/2014     81
114  12/24/2014     99
115  12/25/2014     85
116  12/26/2014     55
117  12/27/2014     91
118  12/28/2014     68
119  12/29/2014    109
120  12/30/2014     55
121  12/31/2014     97
3 property. Here, -n represents the index of the last n rows of the given pandas DataFrame.

Code:

import pandas as pd

df = pd.read_csv['countries.csv']
rows = df.iloc[-5:]
print[rows]

Output:

      Country     Capital       Population      Area
5     USA         Washington    334,506,463     9,147,420
6     China       Beijing       1,449,357,022   9,388,211
7     Poland      Warsaw        37,771,789      306,230
8     Russia      Moscow        146,047,418     16,376,870
9     England     London        68,529,747      241,930

Phương pháp 2: Sử dụng đuôi []

Cách tiếp cận: Sử dụng

           Date  Cases
0      9/1/2014     45
1      9/2/2014    104
2      9/3/2014     47
3      9/4/2014    108
4      9/5/2014     49
112  12/22/2014     30
113  12/23/2014     81
114  12/24/2014     99
115  12/25/2014     85
116  12/26/2014     55
117  12/27/2014     91
118  12/28/2014     68
119  12/29/2014    109
120  12/30/2014     55
121  12/31/2014     97
7 để chọn n hàng cuối cùng của DataFrame đã cho.Use the
           Date  Cases
0      9/1/2014     45
1      9/2/2014    104
2      9/3/2014     47
3      9/4/2014    108
4      9/5/2014     49
112  12/22/2014     30
113  12/23/2014     81
114  12/24/2014     99
115  12/25/2014     85
116  12/26/2014     55
117  12/27/2014     91
118  12/28/2014     68
119  12/29/2014    109
120  12/30/2014     55
121  12/31/2014     97
7 to select the last n rows of the given DataFrame.

Phương thức

           Date  Cases
0      9/1/2014     45
1      9/2/2014    104
2      9/3/2014     47
3      9/4/2014    108
4      9/5/2014     49
112  12/22/2014     30
113  12/23/2014     81
114  12/24/2014     99
115  12/25/2014     85
116  12/26/2014     55
117  12/27/2014     91
118  12/28/2014     68
119  12/29/2014    109
120  12/30/2014     55
121  12/31/2014     97
8 trả về n số phương thức từ đầu dưới của dataFrame. Ở đây, n đại diện cho một số nguyên biểu thị số lượng hàng bạn muốn tìm nạp từ đầu dưới cùng của khung dữ liệu.n number of methods from the bottom end of the DataFrame. Here, n represents an integer that denotes the number of rows you want to fetch from the bottom end of the DataFrame.

Code:

           Date  Cases
0      9/1/2014     45
121  12/31/2014     97
0

Output:

      Country     Capital       Population      Area
5     USA         Washington    334,506,463     9,147,420
6     China       Beijing       1,449,357,022   9,388,211
7     Poland      Warsaw        37,771,789      306,230
8     Russia      Moscow        146,047,418     16,376,870
9     England     London        68,529,747      241,930

Chà, điều đó đưa chúng ta đến câu hỏi tiếp theo - Làm thế nào để có được n hàng cuối cùng từ n cột cuối cùng của một bản dữ liệu gấu trúc?“How to get the last N rows from last N columns of a Pandas DataFrame?”

Phương pháp 1: Lập chỉ mục dựa trên số nguyênInteger Based Indexing

Cách tiếp cận: Gọi

           Date  Cases
0      9/1/2014     45
1      9/2/2014    104
2      9/3/2014     47
3      9/4/2014    108
4      9/5/2014     49
112  12/22/2014     30
113  12/23/2014     81
114  12/24/2014     99
115  12/25/2014     85
116  12/26/2014     55
117  12/27/2014     91
118  12/28/2014     68
119  12/29/2014    109
120  12/30/2014     55
121  12/31/2014     97
9 để hiển thị n hàng cuối cùng từ các cột m cuối cùng của DataFrame đã cho.Call
           Date  Cases
0      9/1/2014     45
1      9/2/2014    104
2      9/3/2014     47
3      9/4/2014    108
4      9/5/2014     49
112  12/22/2014     30
113  12/23/2014     81
114  12/24/2014     99
115  12/25/2014     85
116  12/26/2014     55
117  12/27/2014     91
118  12/28/2014     68
119  12/29/2014    109
120  12/30/2014     55
121  12/31/2014     97
9 to display last n rows from the last m columns of the given DataFrame.

Mã: Trong đoạn mã sau đây, chúng tôi sẽ tìm được 5 hàng cuối cùng từ 2 cột cuối cùng, tức là, dân số và khu vực. In the following code snippet we will fetch the last 5 rows from the last 2 columns, i.e., Population and Area.

           Date  Cases
0      9/1/2014     45
121  12/31/2014     97
2

Output:

           Date  Cases
0      9/1/2014     45
121  12/31/2014     97
3

Phương pháp 2: Lập chỉ mục dựa trên tênName Based Indexing

Trong trường hợp, bạn tình cờ biết tên của các cột cụ thể và bạn muốn lấy n bản ghi cuối cùng từ khung dữ liệu từ các cột đó thì bạn có thể làm theo quy trình hai bước.N records from the DataFrame from those columns then you can follow a two step process.

  • Gọi bộ chọn
    import pandas as pd
    import csv
    
    top = pd.read_csv["flu.csv", nrows=1]
    headers = top.columns.values
    
    with open["flu.csv", "r"] as f, open["flu2.csv","w"] as g:
        last_line = f.readlines[][-1].strip[].split[","]
        c = csv.writer[g]
        c.writerow[headers]
        c.writerow[last_line]
    
    bottom = pd.read_csv["flu2.csv"]
    concatenated = pd.concat[[top, bottom]]
    concatenated.reset_index[inplace=True, drop=True]
    
    print concatenated
    
    0. Nó cho phép bạn sử dụng cắt trên tên cột thay vì số nhận dạng số nguyên có thể thoải mái hơn.
  • ________ 31 & nbsp; là để lập chỉ mục dựa trên nhãn. Do đó, các chỉ số tiêu cực không được tìm thấy và được tái hiện thành & nbsp; ________ 32. Do đó, để đối phó với điều này, bạn phải sử dụng phương thức
    import pandas as pd
    import csv
    
    top = pd.read_csv["flu.csv", nrows=1]
    headers = top.columns.values
    
    with open["flu.csv", "r"] as f, open["flu2.csv","w"] as g:
        last_line = f.readlines[][-1].strip[].split[","]
        c = csv.writer[g]
        c.writerow[headers]
        c.writerow[last_line]
    
    bottom = pd.read_csv["flu2.csv"]
    concatenated = pd.concat[[top, bottom]]
    concatenated.reset_index[inplace=True, drop=True]
    
    print concatenated
    
    3 để trích xuất N bản ghi cuối cùng từ các cột đã chọn.N records from the selected columns.

Mã: Đoạn mã sau cho thấy cách bạn có thể sử dụng tên cột và tìm nạp các giá trị tương ứng từ 5 hàng cuối cùng của DataFrame đã cho. The following code snippet shows how you can use the column names and fetch the corresponding values from the last 5 rows of the given Dataframe.

           Date  Cases
0      9/1/2014     45
121  12/31/2014     97
4

Output:

           Date  Cases
0      9/1/2014     45
121  12/31/2014     97
3

Cuối cùng nhưng không kém phần quan trọng, chúng ta hãy giải quyết vấn đề thứ ba và cuối cùng của hướng dẫn hôm nay - Cách đọc n hàng cuối cùng của một tập tin CSV lớn trong gấu trúc?How to read last N rows of a large csv file in Pandas?

Thật không may,

import pandas as pd
import csv

top = pd.read_csv["flu.csv", nrows=1]
headers = top.columns.values

with open["flu.csv", "r"] as f, open["flu2.csv","w"] as g:
    last_line = f.readlines[][-1].strip[].split[","]
    c = csv.writer[g]
    c.writerow[headers]
    c.writerow[last_line]

bottom = pd.read_csv["flu2.csv"]
concatenated = pd.concat[[top, bottom]]
concatenated.reset_index[inplace=True, drop=True]

print concatenated
4 không tạo điều kiện cho chúng tôi bất kỳ tham số nào cho phép bạn đọc trực tiếp các dòng N cuối cùng từ một tệp. Đây có thể là một vấn đề rắc rối để xử lý khi bạn đang xử lý các bộ dữ liệu lớn.N lines from a file. This can be a troublesome issue to handle when you are dealing with large datasets.

Do đó, một cách giải quyết cho vấn đề này là trước tiên tìm hiểu tổng số dòng/bản ghi trong tệp. Sau đó sử dụng tham số

import pandas as pd
import csv

top = pd.read_csv["flu.csv", nrows=1]
headers = top.columns.values

with open["flu.csv", "r"] as f, open["flu2.csv","w"] as g:
    last_line = f.readlines[][-1].strip[].split[","]
    c = csv.writer[g]
    c.writerow[headers]
    c.writerow[last_line]

bottom = pd.read_csv["flu2.csv"]
concatenated = pd.concat[[top, bottom]]
concatenated.reset_index[inplace=True, drop=True]

print concatenated
5 để trực tiếp nhảy vào hàng/dòng mà bạn muốn chọn các bản ghi.

Mã: Trong đoạn mã sau, chúng tôi sẽ tìm được 5 hàng đầu tiên từ tệp CSV vào DataFrame của chúng tôi. In the following code snippet we will fetch the first 5 rows from the csv file into our DataFrame.

           Date  Cases
0      9/1/2014     45
121  12/31/2014     97
6

Output:

           Date  Cases
0      9/1/2014     45
121  12/31/2014     97
7

Sự kết luận

Phew! Chúng tôi đã giải quyết thành công tất cả các vấn đề được trình bày cho chúng tôi trong hướng dẫn này. & nbsp; Tôi hy vọng hướng dẫn này đã giúp bạn mài giũa kỹ năng mã hóa của bạn. Xin vui lòng & nbsp; Hãy theo dõi & nbsp; và & nbsp; đăng ký & nbsp; để biết các vấn đề mã hóa thú vị hơn.stay tuned and subscribe for more interesting coding problems.

Đề xuất đọc:

  • Phương thức GANDAS DATAFRAME Head [] và Tail []
  • Xóa cột khỏi Pandas DataFrame
  • Thay đổi loại cột trong gấu trúc

Học gấu con cách thú vị bằng cách giải các câu đố mã

Nếu bạn muốn tăng kỹ năng gấu trúc của mình, hãy xem xét kiểm tra cuốn sách học tập dựa trên câu đố của tôi Coffee Break Pandas [Amazon Link].

Nó chứa 74 câu đố gấu trúc thủ công bao gồm các giải thích. Bằng cách giải quyết từng câu đố, bạn sẽ nhận được một số điểm đại diện cho cấp độ kỹ năng của bạn trong gấu trúc. Bạn có thể trở thành một Grandmaster Gandas không?

Coffee Break Pandas cung cấp một cách tiếp cận dựa trên niềm vui để làm chủ khoa học dữ liệu và một trải nghiệm học tập thực sự được chơi game.

Tôi là một blogger Python chuyên nghiệp và người tạo nội dung. Tôi đã xuất bản nhiều bài báo và tạo ra các khóa học trong một khoảng thời gian. Hiện tại tôi đang làm việc như một freelancer toàn thời gian và tôi có kinh nghiệm trong các lĩnh vực như Python, AWS, DevOps và Mạng.

Bạn có thể liên lạc với tôi @:

Upwork LinkedIn
LinkedIn

in [đánh giá_df. head []].

in [đánh giá_df. head []].

Bước 1: Để đọc các hàng trong Python, trước tiên, chúng ta cần tải tệp CSV trong một đối tượng. Vì vậy, để tải tệp CSV vào một đối tượng sử dụng phương thức Open []. Bước 2: Tạo một đối tượng đầu đọc bằng cách chuyển đối tượng tệp được tạo ở trên cho hàm đầu đọc. Bước 3: Sử dụng cho vòng lặp trên đối tượng đầu đọc để có được mỗi hàng.

in [đánh giá_df. head []].Using the Pandas iloc[-1] attribute you can select the last row of the DataFrame. iloc[] is used to select the single row or column by using an index. iloc[-1] property return the last row of DataFrame in the form of Pandas Series.

Nhận hàng cuối cùng của gấu trúc bằng ILOC [] bằng thuộc tính Pandas ILOC [-1] Bạn có thể chọn hàng cuối cùng của DataFrame.ILOC [] được sử dụng để chọn một hàng hoặc cột bằng cách sử dụng chỉ mục.thuộc tính ILOC [-1] Trả về hàng cuối cùng của DataFrame dưới dạng sê-ri Pandas.

Làm cách nào để đọc một hàng tệp CSV theo hàng trong Python bằng Pandas?.
Đọc tệp CSV.
Tải CSV vào DataFrame: Nhập Pandas dưới dạng PD.df = pd.read_csv ['data.csv'] ....
In DataFrame mà không cần phương thức TO_STRING []: Nhập gấu trúc dưới dạng pd.....
Tăng số lượng hàng tối đa để hiển thị toàn bộ DataFrame: Nhập Pandas dưới dạng PD ..

Làm cách nào để làm cho gấu trúc chỉ đọc một vài hàng?

Làm cách nào để làm gấu trúc chỉ đọc một vài hàng ?..
df_firstn = pd.read_csv [file_path, nrows = n] df_firstn = pd.Read_csv [file_path, nRows = n].
Hình dạng dữ liệu: [100, 2] Hình dạng dữ liệu: [100, 2].
in [review_df. head []] in [Review_df.head []].
Hình dạng dữ liệu: [100, 2] Hình dạng dữ liệu: [100, 2].
in [đánh giá_df. head []].

Bài Viết Liên Quan

Chủ Đề