Pandas là gì?
Scrapeless Web Unlocker lấy nội dung web công khai mà các ứng dụng Python có thể trích xuất và chuẩn bị cho phân tích tiếp theo.
pandas là một thư viện Python mã nguồn mở dùng để thao tác và phân tích dữ liệu có cấu trúc. Các đối tượng cốt lõi của nó là Series, đại diện cho một bộ sưu tập một chiều có nhãn, và DataFrame, đại diện cho một bảng có các hàng và cột được gán nhãn. Bạn sử dụng pandas để lọc hồ sơ, làm sạch các giá trị, kết hợp các tập dữ liệu, tóm tắt các nhóm, và chuyển dữ liệu giữa các bước phân tích.
pandas đặc biệt hữu ích khi một bảng cần một tập hợp các biến đổi có thể lặp lại. Một bảng tính có thể chỉ ra kết quả, nhưng quy trình làm việc của pandas ghi lại cách mà kết quả được sản xuất. Trong công việc dữ liệu web, quy trình làm việc đó bắt đầu sau khi thu thập và trích xuất: thư viện chuyển đổi các bản ghi nguồn thành một bảng phân tích mà có các kiểu, khóa và giá trị thiếu mang ý nghĩa rõ ràng.
Tóm tắt
- pandas làm việc với dữ liệu bảng có nhãn. Series và DataFrames cho phép bạn biểu thị các phép biến đổi theo nhãn cột và hàng.
- Giá trị thiếu cần có một quy tắc kinh doanh. Một giá chưa biết, một lần khai thác không thành công, và một số không thực sự mô tả những quan sát khác nhau.
- Các khóa kết hợp xác định ý nghĩa của một bảng đã gộp. Các khóa trùng lặp có thể nhân các hàng và làm sai lệch tổng số.
- pandas có giới hạn bộ nhớ. Chỉ đọc các cột cần thiết, kiểm tra kiểu dữ liệu và lập kế hoạch cho các tải công việc lớn hơn trước khi tải chúng.
Một chuỗi và một DataFrame là gì?
Một Series lưu trữ các giá trị với nhãn, và một DataFrame tổ chức nhiều cột thành một bảng có nhãn. mô hình dữ liệu pandas hỗ trợ các cột không đồng nhất, vì vậy các định danh, số lượng số và văn bản có thể thuộc về cùng một tập dữ liệu.
Hãy tưởng tượng một bảng các quan sát sản phẩm công khai. Mỗi hàng đại diện cho một sản phẩm trong một ngữ cảnh thu thập. Các cột chứa định danh sản phẩm, tiêu đề hiển thị, giá cả, tiền tệ, khu vực và URL nguồn. Một cột giá số hỗ trợ phép toán, trong khi URL nguồn giữ lại một đường dẫn quay trở lại quan sát.
Chỉ số là một hệ thống nhãn, và nó không tự động trở thành một định danh doanh nghiệp duy nhất. Một chỉ số hàng mặc định có thể chỉ đơn giản mô tả thứ tự hiện tại của bảng. Nếu khóa sản phẩm quan trọng cho việc kết nối hoặc loại bỏ trùng lặp, hãy giữ khóa đó rõ ràng và xác thực nó. Việc sắp xếp hoặc lọc các hàng không nên thay đổi sản phẩm mà một bản ghi đề cập đến.
pandas cũng căn chỉnh nhiều thao tác theo nhãn. Hành vi đó rất thuận tiện khi bạn dự định căn chỉnh, nhưng nó có thể làm bạn ngạc nhiên khi bạn mong đợi các giá trị chỉ khớp theo vị trí. Kiểm tra các nhãn và hình dạng trước khi kết hợp các đối tượng được chuẩn bị độc lập.
Nơi pandas phù hợp trong một Pipeline Dữ liệu Web
pandas thuộc về các giai đoạn biến đổi và phân tích của một pipeline dữ liệu web. Một công cụ thu thập lấy nội dung, một bộ trích xuất biến nội dung đó thành các bản ghi, và pandas chuẩn bị các bản ghi đó cho việc so sánh, báo cáo hoặc đầu vào mô hình.
Một phản hồi mạng thành công chưa phải là một DataFrame hữu ích. Phản hồi có thể chứa HTML, một gói API hoặc một trang thử thách. Trích xuất các trường dự kiến và xác thực phản hồi trước khi xây dựng bảng phân tích. Ngược lại, một bảng trông sạch sẽ có thể chứa thông báo lỗi hoặc các bản ghi không đầy đủ.
Scrapeless Web Unlocker có thể cung cấp lớp truy xuất cho nội dung web công cộng, trong khi ứng dụng của bạn sở hữu việc trích xuất và lược đồ bảng. The Mô hình lấy lại nội dung Web Unlocker hỗ trợ sự phân tách đó. pandas không tự động hiểu cấu trúc của phản hồi dịch vụ hoặc chuyển đổi mỗi trang thu được thành các hàng có ý nghĩa.
Xin lỗi, nhưng có vẻ như bạn đã không cung cấp văn bản cần dịch. Xin vui lòng cung cấp văn bản tiếng Anh mà bạn muốn tôi dịch sang tiếng Việt. quy trình chuẩn bị nội dung web đã truy xuất minh họa lý do tại sao việc thu mua và làm sạch nên giữ riêng biệt. Bảo tồn ngữ cảnh nguồn trước khi loại bỏ chi tiết trình bày; người dùng phía dưới có thể cần giải thích tại sao một giá trị đã thay đổi.
Cách pandas Đọc và Ghi Bảng
pandas cung cấp các công cụ đầu vào và đầu ra cho các định dạng bảng phổ biến và kho dữ liệu. hệ thống IO của pandas bao gồm các trình đọc và trình ghi cho định dạng văn bản, bảng tính, định dạng cột và tương tác cơ sở dữ liệu, với các phụ thuộc khác nhau tùy theo định dạng.
Định dạng tệp không xác định chất lượng dữ liệu. Một tệp CSV có thể chứa các định danh sản phẩm với số 0 đứng đầu, các định dạng ngày tháng hỗn hợp, hoặc một cột giá bao gồm các ký hiệu tiền tệ. Xác định các loại cột và quy tắc phân tích dự kiến thay vì dựa vào suy diễn cho mọi trường. Một định danh thường là văn bản ngay cả khi mọi giá trị hiện tại đều có vẻ số.
Quyết định cách đầu vào lồng ghép trở thành bảng. Một quan sát với một vài đề nghị có thể tạo ra một bảng đề nghị được liên kết bằng định danh sản phẩm, thay vì một ô đơn chứa một danh sách không có cấu trúc. Việc giữ các thực thể lặp lại trong một bảng riêng biệt giúp làm rõ số lượng và tránh việc ẩn mối quan hệ nhiều-với-một bên trong một chuỗi.
Khi xuất khẩu, hãy xem xét công cụ nhận. Bảo tồn sơ đồ cần thiết và chọn xem chỉ số DataFrame có nên được ghi dưới dạng một cột hay không. Một tệp mở mà không có lỗi vẫn có thể mất định danh hoặc thay đổi cách hiểu các giá trị null.
Cách Làm Sạch Các Giá Trị Thiếu Và Không Nhất Quán
Dữ liệu bị thiếu nên được xử lý theo lý do tại sao giá trị bị thiếu và cách bảng sẽ được sử dụng. hành vi giá trị thiếu của pandas phụ thuộc vào loại dữ liệu và cách thức biểu diễn của nó, vì vậy việc kiểm tra tính thiếu dữ liệu an toàn hơn là coi mỗi cột như văn bản thông thường.
Đối với một quan sát sản phẩm, một mức giá thiếu có thể có nghĩa là mặt hàng không có sẵn, trang web không công bố mức giá, hoặc bộ trích xuất đã thất bại. Những nguyên nhân đó không nên trở thành số không. Giữ trường trạng thái quan sát hoặc lý do xác thực khi sự phân biệt ảnh hưởng đến một báo cáo.
Chuẩn hóa văn bản một cách có chọn lọc. Việc loại bỏ khoảng trắng xung quanh có thể cải thiện các khóa, nhưng thay đổi chữ hoa chữ thường có thể sai đối với các định danh nhạy cảm với trường hợp. Phân tích các số tiền theo ngữ cảnh địa phương và tiền tệ của chúng. Ký hiệu thập phân không thể thay thế cho ký hiệu hàng nghìn, và việc chuyển đổi một mức giá hiển thị mà không có ngữ cảnh đó có thể tạo ra các số hợp lệ nhưng không chính xác.
Giữ một cột giá trị gốc cho các phép biến đổi cần sự phán đoán. Điều đó làm cho có thể kiểm tra một thay đổi của trình phân tích hoặc điều tra một giá trị mà quy tắc làm sạch đã từ chối. Một bảng có thể tái tạo nên giải thích cả các hàng được chấp nhận và các hàng bị loại bỏ.
Tại sao Các phép nối cần Kiểm tra Độ Cardinality
Một phép nối kết hợp các tập dữ liệu bằng cách so khớp các khóa, và các khóa trùng lặp có thể mở rộng số lượng hàng kết quả. Mô hình gộp và nối pandas miêu tả các sự kết hợp dựa trên khóa và tùy chọn để kiểm tra mối quan hệ giữa các đầu vào.
Giả sử bảng sản phẩm nên có một hàng cho mỗi sản phẩm, trong khi bảng quan sát chứa các bộ sưu tập lặp lại. Nối các quan sát với sản phẩm được kỳ vọng sẽ thêm các thuộc tính sản phẩm mà không nhân đôi các quan sát. Nếu bảng sản phẩm vô tình chứa các khóa sản phẩm trùng lặp, một quan sát đơn lẻ có thể khớp với nhiều hàng sản phẩm.
Kiểm tra tính duy nhất ở bên mà có khả năng là duy nhất. Kiểm tra các khóa không khớp: một phép nối trái giữ nguyên các quan sát nhưng có thể để thiếu thuộc tính sản phẩm, trong khi một phép nối bên trong loại bỏ các quan sát mà không có khớp. Cả hai kết quả đều không tự động chính xác. Lựa chọn phụ thuộc vào việc các quan sát không khớp có nên giữ lại để điều tra hay không.
Các khóa thiếu cũng cần được chú ý. pandas có thể khớp các khóa null với nhau theo những cách khác biệt so với những mong đợi thông thường của SQL. Tách các bản ghi mà không có khóa đáng tin cậy trước khi gộp chúng vào một bảng sẽ điều khiển tổng số hoặc cảnh báo.
Những gì Nhóm và Tổng hợp Thực sự Trả lời
Nhóm tóm tắt các bản ghi trong các danh mục đã chọn, vì vậy các cột nhóm xác định câu hỏi đang được trả lời. Một mức giá trung bình theo vùng trả lời một câu hỏi khác so với một mức giá trung bình theo sản phẩm và vùng.
Định nghĩa đơn vị quan sát trước khi tính toán một số liệu. Nếu các sản phẩm phổ biến xuất hiện trong nhiều quan sát hơn so với các sản phẩm khác, một giá trị trung bình trên các quan sát thô sẽ làm nặng các sản phẩm đó hơn. Bạn có thể cần một quan sát hiện tại cho mỗi sản phẩm hoặc một quy tắc lấy mẫu đã được tài liệu hóa trước khi tính toán một so sánh thị trường.
Việc loại bỏ trùng lặp cần cùng một kỷ luật. Loại bỏ các hàng giống hệt là khác với việc chọn quan sát mới nhất cho một khóa kinh doanh. Giữ các hàng lịch sử khi nhiệm vụ là đo lường sự thay đổi theo thời gian. Chọn một chế độ xem hiện tại khi nhiệm vụ là so sánh các quan sát sẵn có ngày hôm nay. Lưu giữ thời gian và ngữ cảnh cần thiết để phân biệt các mục đích đó.
Xác thực số liệu với một tập con nhỏ có thể kiểm tra. So sánh các hàng đóng góp, chính sách giá trị thiếu và kích thước nhóm. Một sự tổng hợp có thể thực hiện đúng trong khi trả lời một câu hỏi mà không ai định hỏi.
pandas So sánh Với Bảng Tính và SQL
pandas, bảng tính và SQL chồng chéo trong các phép toán bảng nhưng khác nhau trong ngữ cảnh thực thi và hợp tác. Chọn dựa trên nơi dữ liệu tồn tại và cách thức biến đổi sẽ được duy trì.
| Tùy chọn | Điểm mạnh Hữu ích | Quyết định Kiểm tra |
|---|---|---|
| pandas | Các phép biến đổi và phân tích Python có thể lặp lại | Khả năng phù hợp bộ nhớ, quy tắc kiểu và quản lý phụ thuộc |
| Bảng tính | Kiểm tra tương tác và chia sẻ quen thuộc | Liệu các chỉnh sửa và công thức thủ công có thể được tái tạo hay không |
| SQL | Truy vấn dữ liệu đã được lưu trữ trong cơ sở dữ liệu | Liệu việc lọc và tổng hợp có nên chạy gần bộ nhớ lưu trữ hay không |
Một quy trình làm việc kết hợp có thể hợp lý. Truy vấn một cơ sở dữ liệu để lấy các hàng liên quan, phân tích một kết quả cố định trong pandas, và xuất một bảng thuyết trình cho các người xem. Tránh việc di chuyển toàn bộ tập dữ liệu vào Python khi cơ sở dữ liệu có thể giảm bớt nó trước.
Khi một DataFrame Trở Nên Quá Lớn
pandas chủ yếu làm việc với dữ liệu trong bộ nhớ, và các phép toán có thể tạo ra các đối tượng trung gian bổ sung. Hướng dẫn pandas cho các tập dữ liệu lớn hơn nhấn mạnh việc tải ít dữ liệu hơn, chọn các loại phù hợp, và sử dụng xử lý theo khối nơi phép toán cho phép.
Đọc chỉ các hàng và cột cần thiết cho phân tích. Kiểm tra việc sử dụng bộ nhớ sau khi tải dữ liệu đại diện thay vì ước tính chỉ từ kích thước tệp nén. Các giá trị văn bản dài lặp lại và các cột đối tượng không cần thiết có thể làm cho một bảng lớn hơn nhiều trong bộ nhớ so với trên đĩa.
Chia khối hoạt động tốt nhất khi phép tính có thể kết hợp các kết quả một cách an toàn. Đếm bản ghi theo danh mục có thể được tích lũy, nhưng một phép nối toàn cầu hoặc một xếp hạng trên toàn bộ tập dữ liệu cần nhiều kế hoạch hơn. Một vòng lặp khối đơn lẻ không biến mỗi phép toán thành một giải pháp ngoài bộ nhớ.
So sánh Giá thu thập thông tin Scrapeless khi việc thu thập là một phần của ngân sách quy trình làm việc, thì tính toán riêng cho bộ nhớ lưu trữ và tài nguyên phân tích. Tiết kiệm chi phí mạng không loại bỏ bộ nhớ cần thiết để xử lý các bản ghi đã giữ lại.
Kết luận
pandas làm cho phân tích bảng có khả năng lặp lại khi tập dữ liệu có các loại, khóa và quy tắc biến đổi rõ ràng. Bắt đầu với một mẫu nhỏ, bảo tồn ngữ cảnh thô, kiểm tra các phép nối và các giá trị thiếu, và xác nhận rằng mỗi số liệu khớp với đơn vị quan sát dự kiến. Một DataFrame đáng tin cậy là kết quả của những quyết định đó.
Chuẩn bị Dữ liệu Web cho Phân tích
Đánh giá lớp thu thập thông tin của bạn tách biệt với các phép biến đổi pandas tạo ra một bảng phân tích đáng tin cậy.
Đăng ký ngay hôm nay và nhận $5 trong tín dụng miễn phí — không cần thẻ tín dụng.
Nhận tín dụng $5 của bạn →Câu hỏi thường gặp
H: pandas có phải là một trình thu thập dữ liệu web không?
pandas là một thư viện xử lý và phân tích dữ liệu, không phải là một khung thu thập dữ liệu web tổng quát. Một số trình đọc có thể tải các nguồn bảng hỗ trợ, nhưng việc truy xuất, tương tác trang và trích xuất HTML là các trách nhiệm riêng biệt. Chuẩn bị các bản ghi hợp lệ trước khi sử dụng pandas để làm sạch và phân tích.
H: Sự khác biệt giữa Series và DataFrame là gì?
Series là một tập hợp một chiều có nhãn, trong khi DataFrame là một bảng các cột và hàng có nhãn. Một cột DataFrame được chọn thường được đại diện dưới dạng một Series. Các nhãn ảnh hưởng đến cách căn chỉnh, vì vậy hãy kiểm tra chúng khi kết hợp các giá trị từ các đối tượng riêng biệt.
H: Có nên thay thế giá thiếu bằng số không?
Giá thiếu chỉ nên trở thành số không khi số không là ý nghĩa kinh doanh chính xác. Một số lượng chưa công bố hoặc việc trích xuất thất bại thường không rõ ràng, không miễn phí. Bảo tồn một lý do hoặc trạng thái quan sát để các tóm tắt có thể loại trừ hoặc báo cáo dữ liệu thiếu một cách cố ý.
H: pandas có thể xử lý dữ liệu lớn hơn bộ nhớ không?
pandas không tự động thực hiện mọi thao tác trên dữ liệu lớn hơn bộ nhớ. Giảm cột, chọn loại và chia nhỏ các thao tác phù hợp có thể hữu ích. Các thao tác toàn cục có thể cần một cơ sở dữ liệu hoặc một phương pháp thực thi khác phù hợp với tập dữ liệu và phân tích.
H: Tại sao một phép nối lại tạo ra nhiều hàng hơn mong đợi?
Một phép nối có thể tạo ra hàng bổ sung khi một khóa khớp với nhiều hàng trong một trong hai đầu vào. Xác nhận mối quan hệ khóa mong đợi trước khi tham gia và kiểm tra các khóa trùng lặp. Kiểm tra số lượng hàng và khóa không khớp giúp phát hiện một thao tác đúng áp dụng cho một mô hình dữ liệu không chính xác.