Điều gì sẽ hiển thị 10 hàng cuối cùng của tập dữ liệu trong Python?
Nếu bạn đang phát triển trong lĩnh vực khoa học dữ liệu và chuyển từ phân tích dựa trên excel sang thế giới của Python, tập lệnh và phân tích tự động, thì bạn sẽ bắt gặp thư viện quản lý dữ liệu cực kỳ phổ biến, “Pandas” trong Python. Quá trình phát triển Pandas bắt đầu vào năm 2008 với nhà phát triển chính Wes McKinney và thư viện đã trở thành một tiêu chuẩn để phân tích và quản lý dữ liệu bằng Python. Sự thông thạo của Pandas là điều cần thiết đối với bất kỳ chuyên gia dữ liệu dựa trên Python nào, những người muốn thử thách Kaggle hoặc bất kỳ ai đang tìm cách tự động hóa quy trình dữ liệu Show
Mục đích của bài đăng này là giúp những người mới bắt đầu nắm bắt được định dạng dữ liệu cơ bản cho Pandas - DataFrame. Chúng tôi sẽ xem xét các phương pháp cơ bản để tạo khung dữ liệu, DataFrame thực sự là gì, đổi tên và xóa các cột và hàng của khung dữ liệu cũng như nơi tiếp theo để nâng cao kỹ năng của bạn Các chủ đề trong bài đăng này sẽ cho phép bạn (hy vọng)
Khung dữ liệu Python Pandas là gì?Tài liệu thư viện Pandas định nghĩa DataFrame là “cấu trúc dữ liệu dạng bảng hai chiều, có thể thay đổi kích thước, có khả năng không đồng nhất với các trục được gắn nhãn (hàng và cột)”. Nói một cách đơn giản, hãy nghĩ về DataFrame dưới dạng bảng dữ liệu, tôi. e. một tập hợp dữ liệu hai chiều được định dạng, với các đặc điểm sau
Ví dụ: các bộ dữ liệu sau đây sẽ phù hợp tốt trong Khung dữ liệu Pandas
Tạo khung dữ liệu PandasChúng tôi sẽ kiểm tra hai phương pháp để tạo DataFrame - theo cách thủ công và từ các tệp giá trị được phân tách bằng dấu phẩy (CSV) Nhập liệu thủ côngBắt đầu mọi dự án khoa học dữ liệu sẽ bao gồm việc đưa dữ liệu hữu ích vào môi trường phân tích, trong trường hợp này là Python. Có nhiều cách để tạo DataFrames của dữ liệu trong Python và cách đơn giản nhất là nhập dữ liệu vào Python theo cách thủ công, cách này rõ ràng chỉ hoạt động đối với các bộ dữ liệu nhỏ Lưu ý rằng quy ước là tải thư viện Pandas dưới dạng 'pd' ( data['Item Code'].astype(str)3). Bạn sẽ thấy ký hiệu này được sử dụng thường xuyên trực tuyến và trong Kaggle kernel Đang tải dữ liệu CSV vào PandasViệc tạo DataFrames từ các tệp CSV (giá trị được phân tách bằng dấu phẩy) được thực hiện cực kỳ đơn giản với hàm read_csv() trong Pandas, sau khi bạn biết đường dẫn đến tệp của mình. Tệp CSV là một tệp văn bản chứa dữ liệu ở dạng bảng, trong đó các cột được phân tách bằng ký tự dấu phẩy ',' và các hàng nằm trên các dòng riêng biệt (xem tại đây) Nếu dữ liệu của bạn ở một số dạng khác, chẳng hạn như cơ sở dữ liệu SQL hoặc tệp Excel (XLS/XLSX), bạn có thể xem các chức năng khác để đọc từ các nguồn này vào DataFrames, cụ thể là read_xlsx, read_sql. Tuy nhiên, để đơn giản, đôi khi trích xuất dữ liệu trực tiếp sang CSV và sử dụng dữ liệu đó sẽ tốt hơn Trong ví dụ này, chúng tôi sẽ tải dữ liệu Sản xuất lương thực toàn cầu từ tệp CSV được tải xuống từ trang web cạnh tranh Khoa học dữ liệu, Kaggle. Bạn có thể tải xuống tệp CSV từ Kaggle hoặc trực tiếp từ đây. Dữ liệu được định dạng độc đáo và ban đầu bạn có thể mở nó trong Excel để xem trước Dữ liệu mẫu chứa 21.478 hàng dữ liệu, với mỗi hàng tương ứng với một nguồn thực phẩm từ một quốc gia cụ thể. 10 cột đầu tiên biểu thị thông tin về quốc gia mẫu và loại thực phẩm/thức ăn chăn nuôi, và các cột còn lại biểu thị sản lượng lương thực hàng năm từ 1963 – 2013 (tổng cộng 63 cột) Nếu bạn chưa cài đặt Python/Pandas, tôi khuyên bạn nên thiết lập Anaconda hoặc WinPython (đây là các gói hoặc bản phân phối có thể tải xuống chứa Python được cài đặt sẵn các thư viện hàng đầu) và sử dụng sổ ghi chép Jupyter (sổ tay cho phép bạn sử dụng Python trong . Một số hướng dẫn cài đặt ở đây Tải tệp vào sổ làm việc Python của bạn bằng hàm Pandas read_csv như vậy Nếu bạn gặp sự cố về đường dẫn hoặc tên tệp, bạn sẽ thấy các ngoại lệ FileNotFoundError như thế này FileNotFoundError: File b'https://c8j9w8r3.rocketcdn.me/some/directory/on/your/system/FAO+database.csv' does not exist Xem trước và kiểm tra dữ liệu trong Pandas DataFrameKhi bạn có dữ liệu trong Python, bạn sẽ muốn xem dữ liệu đã được tải và xác nhận rằng các cột và hàng dự kiến đã có mặt In dữ liệuNếu bạn đang sử dụng sổ ghi chép Jupyter, kết quả đầu ra chỉ cần nhập tên của khung dữ liệu sẽ dẫn đến kết quả đầu ra được định dạng đẹp mắt. In là một cách thuận tiện để xem trước dữ liệu đã tải của bạn, bạn có thể xác nhận rằng tên cột đã được nhập chính xác, định dạng dữ liệu như mong đợi và liệu có thiếu giá trị ở bất kỳ đâu không Bạn sẽ nhận thấy rằng Pandas chỉ hiển thị 20 cột theo mặc định cho các khung dữ liệu rộng và chỉ có 60 hàng hoặc hơn, cắt bớt phần ở giữa. Nếu muốn thay đổi các giới hạn này, bạn có thể chỉnh sửa các giá trị mặc định bằng cách sử dụng một số tùy chọn nội bộ cho màn hình Pandas (chỉ cần sử dụng data['Item Code'].astype(str)4 để đặt các giới hạn này)
Bạn có thể xem toàn bộ các tùy chọn có sẵn trong tài liệu cài đặt và tùy chọn chính thức của Pandas Các hàng và cột DataFrame với. hình dạngLệnh shape cung cấp thông tin về kích thước tập dữ liệu – 'shape' trả về một bộ có số hàng và số cột cho dữ liệu trong DataFrame. Một thuộc tính mô tả khác là 'ndim' cung cấp số thứ nguyên trong dữ liệu của bạn, thường là 2 Dữ liệu sản xuất thực phẩm của chúng tôi chứa 21.477 hàng, mỗi hàng có 63 cột như kết quả đầu ra của. hình dạng. Chúng ta có hai chiều – tôi. e. khung dữ liệu 2D có chiều cao và chiều rộng. Nếu dữ liệu của bạn chỉ có một cột, ndim sẽ trả về 1. Các tập dữ liệu có nhiều hơn hai chiều trong Pandas từng được gọi là Bảng điều khiển, nhưng các định dạng này đã không còn được dùng nữa. Phương pháp đề xuất cho dữ liệu đa chiều (>2) là sử dụng thư viện Xarray Python Xem trước DataFrames với head() và tail()khung dữ liệu. Hàm head() trong Pandas, theo mặc định, hiển thị cho bạn 5 hàng dữ liệu hàng đầu trong DataFrame. Ngược lại là DataFrame. tail(), cung cấp cho bạn 5 hàng cuối cùng Nhập một số và Pandas sẽ in ra số lượng hàng đã chỉ định như trong ví dụ bên dưới. Head() và Tail() cần phải là những phần cốt lõi của các chức năng Python Pandas của bạn để điều tra bộ dữ liệu của bạn Trong ví dụ của chúng tôi ở đây, bạn có thể thấy một tập hợp con các cột trong dữ liệu vì có tổng cộng hơn 20 cột Kiểu dữ liệu (dtypes) của cộtNhiều DataFrames có các loại dữ liệu hỗn hợp, nghĩa là, một số cột là số, một số là chuỗi và một số là ngày, v.v. Bên trong, các tệp CSV không chứa thông tin về loại dữ liệu nào được chứa trong mỗi cột; . Pandas suy ra các loại dữ liệu khi tải dữ liệu, e. g. nếu một cột chỉ chứa số, gấu trúc sẽ đặt kiểu dữ liệu của cột đó thành số. số nguyên hoặc float Bạn có thể kiểm tra loại của từng cột trong ví dụ của chúng tôi bằng lệnh ‘. thuộc tính dtypes của khung dữ liệu Trong một số trường hợp, việc tự động suy luận các loại dữ liệu có thể mang lại kết quả không mong muốn. Lưu ý rằng các chuỗi được tải dưới dạng kiểu dữ liệu 'đối tượng', vì về mặt kỹ thuật, DataFrame giữ một con trỏ tới dữ liệu chuỗi ở nơi khác trong bộ nhớ. Hành vi này được mong đợi và có thể bỏ qua Để thay đổi kiểu dữ liệu của một cột cụ thể, hãy sử dụng. hàm astype(). Ví dụ: để xem cột 'Mã hàng' dưới dạng một chuỗi, hãy sử dụng data['Item Code'].astype(str) Mô tả dữ liệu với. diễn tả()Cuối cùng, để xem một số thống kê cốt lõi về một cột cụ thể, bạn có thể sử dụng chức năng ' mô tả '
Chọn một cột để mô tả bằng cách sử dụng một chuỗi bên trong dấu ngoặc nhọn [] và gọi description() như sau Lưu ý rằng nếu description được gọi trên toàn bộ DataFrame, thì số liệu thống kê chỉ dành cho các cột có kiểu dữ liệu số được trả về và ở định dạng DataFrame Chọn và thao tác dữ liệuCác phương pháp lựa chọn dữ liệu cho Pandas rất linh hoạt. Trong một bài đăng khác trên trang web này, tôi đã viết rất nhiều về các phương pháp lựa chọn cốt lõi trong Pandas – cụ thể là iloc và loc. Để biết thông tin chi tiết và để lựa chọn chính, hãy nhớ đọc bài đăng đó. Đối với ví dụ này, chúng ta sẽ xem xét phương pháp cơ bản để chọn cột và hàng Chọn cộtCó ba phương pháp chọn cột chính trong pandas
Khi một cột được chọn bằng bất kỳ phương pháp nào trong số những phương pháp này, pandas. Sê-ri là kiểu dữ liệu kết quả. Chuỗi pandas là tập hợp dữ liệu một chiều. Thật hữu ích khi biết các thao tác cơ bản có thể được thực hiện trên Chuỗi dữ liệu này, bao gồm tính tổng ( data['Item Code'].astype(str)3), tính trung bình ( data['Item Code'].astype(str)4), đếm ( data['Item Code'].astype(str)5), lấy giá trị trung bình ( data['Item Code'].astype(str)6) và thay thế các giá trị bị thiếu ( data['Item Code'].astype(str)7) data['Item Code'].astype(str)0 Việc chọn nhiều cột cùng lúc sẽ trích xuất một Khung dữ liệu mới từ Khung dữ liệu hiện có của bạn. Để chọn nhiều cột, cú pháp là
Chọn hàngThông thường, các hàng trong DataFrame được chọn bằng cách sử dụng các phương pháp chọn iloc/loc hoặc sử dụng các bộ chọn logic (lựa chọn dựa trên giá trị của một cột hoặc biến khác) Các phương pháp cơ bản để có được cái đầu của bạn xung quanh là
Lưu ý rằng bạn có thể kết hợp các phương pháp lựa chọn cho các cột và hàng theo nhiều cách để đạt được lựa chọn trong mơ của mình. Chi tiết tham khảo bài viết “Sử dụng iloc, loc, ix để chọn và lập chỉ mục dữ liệu“ Xóa hàng và cột (thả)Để xóa các hàng và cột khỏi DataFrames, Pandas sử dụng chức năng "thả" Để xóa một cột hoặc nhiều cột, hãy sử dụng tên của (các) cột và chỉ định "trục" là 1. Ngoài ra, như trong ví dụ bên dưới, tham số 'cột' đã được thêm vào Pandas để loại bỏ nhu cầu về 'trục'. Hàm thả trả về một Khung dữ liệu mới, với các cột đã bị xóa. Để thực sự chỉnh sửa DataFrame ban đầu, tham số “tại chỗ” có thể được đặt thành True và không có giá trị trả về data['Item Code'].astype(str)6 Các hàng cũng có thể được xóa bằng chức năng “thả”, bằng cách chỉ định axis=0. Drop() xóa các hàng dựa trên “nhãn”, thay vì lập chỉ mục số. Để xóa các hàng dựa trên vị trí số/chỉ mục của chúng, hãy sử dụng iloc để gán lại các giá trị khung dữ liệu, như trong các ví dụ bên dưới data['Item Code'].astype(str)7 Đổi tên cộtDễ dàng đổi tên cột trong Pandas bằng chức năng đổi tên DataFrame. Chức năng đổi tên dễ sử dụng và khá linh hoạt. Đổi tên cột theo hai cách này
data['Item Code'].astype(str)8 Trong nhiều trường hợp, tôi sử dụng chức năng sắp xếp gọn gàng cho các tên cột để đảm bảo định dạng chữ thường, tiêu chuẩn cho các tên biến. Khi tải dữ liệu từ các tập dữ liệu có khả năng phi cấu trúc, có thể hữu ích khi xóa khoảng trắng và viết thường tất cả các tên cột bằng cách sử dụng hàm lambda (ẩn danh) data['Item Code'].astype(str)9 Xuất và lưu khung dữ liệu PandasSau khi thao tác hoặc tính toán, lưu dữ liệu của bạn trở lại CSV là bước tiếp theo. Xuất dữ liệu trong Pandas đơn giản như tải dữ liệu Hai hàm bạn cần biết là to_csv để ghi DataFrame vào tệp CSV, và to_excel để ghi thông tin DataFrame vào tệp Microsoft Excel data['Item Code'].astype(str)0 Các chức năng hữu ích bổ sungNhóm và tổng hợp dữ liệuNgay khi bạn tải dữ liệu, bạn sẽ muốn nhóm dữ liệu đó theo giá trị này hay giá trị khác, sau đó chạy một số phép tính. Có một bài đăng khác trên blog này - Tóm tắt, tổng hợp và nhóm dữ liệu trong Python Pandas, đi sâu vào chi tiết về chủ đề này Vẽ sơ đồ khung dữ liệu Pandas - Thanh và đườngCó một chức năng vẽ sơ đồ tương đối rộng rãi được tích hợp trong Pandas có thể được sử dụng cho các biểu đồ khám phá – đặc biệt hữu ích trong môi trường máy tính xách tay Jupyter để phân tích dữ liệu Bạn sẽ cần cài đặt gói vẽ đồ thị matplotlib để tạo đồ họa và _______103 sổ tay 'ma thuật' được kích hoạt cho các đồ thị nội tuyến. Bạn cũng sẽ cần data['Item Code'].astype(str)04 để thêm nhãn hình và nhãn trục vào sơ đồ của mình. Một số lượng lớn các chức năng được cung cấp bởi. lệnh plot() nguyên bản của Pandas Với đủ sự quan tâm, biểu đồ và trực quan hóa dữ liệu với Pandas là mục tiêu của một bài đăng blog trong tương lai – hãy cho tôi biết trong các nhận xét bên dưới Để biết thêm thông tin về trực quan hóa với Pandas, hãy đảm bảo bạn xem lại
Đi xa hơnKhi mức sử dụng Pandas của bạn tăng lên, thì các yêu cầu của bạn đối với các khái niệm nâng cao hơn như định hình lại dữ liệu và hợp nhất/kết hợp cũng tăng theo (xem bài đăng trên blog kèm theo. ). Để bắt đầu, tôi khuyên bạn nên đọc “Gấu trúc hiện đại” gồm 6 phần của Tom Augspurger như một bài đăng trên blog xuất sắc xem xét một số phương pháp thao tác dữ liệu và lập chỉ mục nâng cao hơn có thể thực hiện được. Làm cách nào bạn có thể hiển thị 5 hàng cuối cùng của DataFrame?Nhận n hàng cuối cùng của DataFrame. đuôi()
. Theo mặc định, 5 hàng cuối cùng được trả về. Bạn có thể chỉ định số lượng hàng.
Lệnh nào hiển thị 6 hàng cuối cùng của tập dữ liệu?Đuôi(). Hàm trả về n hàng cuối cùng của tập dữ liệu.
Đâu là cú pháp chính xác để hiển thị 10 hàng cuối cùng của ma trận hoặc DataFrame?cú pháp. Khung dữ liệu. đầu(n). Thông số. (tùy chọn) n là giá trị số nguyên, số hàng được trả về
Lệnh nào sẽ hiển thị 10 hàng đầu tiên của khung dữ liệu DF?Bạn có thể sử dụng df. head() để lấy N hàng đầu tiên trong Pandas DataFrame. |