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
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
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
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
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
0Output:
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
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
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
2Output:
Date Cases
0 9/1/2014 45
121 12/31/2014 97
3Phươ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
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.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
- ________ 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
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.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
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
4Output:
Date Cases
0 9/1/2014 45
121 12/31/2014 97
3Cuố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
6Output:
Date Cases
0 9/1/2014 45
121 12/31/2014 97
7Sự 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