Hướng dẫn dùng pandas mapper python
Lời tựa Khi chúng tôi xử lý đối tượng DataFrame, suy nghĩ tiềm thức về việc đi qua DataFrame, sau đó điền vào các giá trị xử lý trong DataFrame. Thời gian dài hơn. Pandas Các công cụ được xây dựng trong một công cụ được xây dựng có thể thực hiện xử lý chức năng map, apply và applymap. Mẹo: Để giải quyết vấn đề một cách thuận tiện và nhanh chóng, bài viết này chỉ giới thiệu cách sử dụng chính của các chức năng, không phải là một giới thiệu toàn diện 1. pandas.Series.map () là gì? Thực hiện các giá trị trong Series Từng người một, mang vào hàm, từ điển hoặc Series Một giá trị khác. Series.map(arg, na_action=None) tham số: arg: Hàm, dữ liệu từ điển, Series; Ánh xạ thư từ na_action{None, 'ignore'}: Mặc định None; Điều trị NaN các biến. Nếu None không được xử lý, đối tượng NaN không được xử lý. Trả về Series Thứ hai, pandas.Series.map () sử dụng và lợi thế Phần này chủ yếu mô tả việc sử dụng chính của hàm map () và các lợi thế của phương pháp so với phương pháp 1.map () sử dụng Tạo trường hợp DataFrame import pandas as pd name gender first_name last_name Bây giờ bạn cần đặt các cột name và tên họ và tên để tháo rời chúng trong first_name và last_name, sử dụng hàm map () và tính toán thời gian sử dụng thời gian sử dụng. def first_name_map(x): use time:0.0009970664978027344 Nếu bạn muốn thay thế mã giới tính 0, 1 thành tiếng Trung Male và Female, bạn có thể sử dụng chức năng ánh xạ từ điển, như sau data['gender'] = data['gender'].map({0:'Female',1:'Male'}) name gender first_name last_name 2.map () lợi thế so với các phương pháp khác Phương pháp chung chủ yếu là thuận tiện và nhanh chóng. Ví dụ sau so sánh. Tốc độ sử dụng phương pháp map () đã được tính toán ở trên: 0,0009970664978027344 Truyền thống start = time.time() use time:0.5146446228027344 Bạn có thể thấy rằng việc sử dụng phương pháp map () nhanh hơn 500 lần so với việc sử dụng đường truyền trực tiếp list Phương pháp lưu trữ tạm thời start = time.time() use time:0.001994609832763672 Có thể thấy rằng việc sử dụng phương pháp tạm thời list nhanh hơn 250 lần so với Traverser, nhưng nó vẫn chậm hơn một nửa so với phương pháp map Hàm thứ hai, apply () Việc sử dụng apply () tương tự như phương pháp sử dụng của map (), nhưng apply () Ngoài các tham số Series, bạn cũng có thể vượt qua các tham số bổ sung. Series.apply(func,convert_dtype = True,args = (), **kwds) tham số: func: Tên chức năng convert_dtype:bool giá trị lớp, mặc định True; Cố gắng tìm loại dữ liệu phù hợp nhất. Nếu False dtype=object. args: Nhóm Yuan; Truyền thông tin tham số vị trí sau Series ** kwds: Để chuyển các tham số khác cho hàm (dưới dạng từ điển) Trở lại Series hoặc DataFrame Sau đây là trường hợp (tham khảo trường hợp tài liệu chính thức) s = pd.Series([20, 21, 12],index=['London', 'New York', 'Helsinki']) London 20 Xử lí dữ liệu def subtract_custom_value(x, custom_value): London 15 Sử dụng các tham số ** kwds def subtract_custom_value(x, **kwds): London 15 Thứ ba, applymap () sử dụng chức năng applymap () Đối tượng của xử lý hàm là DataFrame, không Series. Nó không được sử dụng nhiều trong hai chức năng trước đó, nhưng nó cũng hữu ích trong một số trường hợp. DataFrame.applymap(func) tham số: func: Hàm; Hàm Python được gọi, đầu vào và đầu ra là các giá trị đơn Quay lại DataFrame Sau đây là một trường hợp đơn giản: import pandas as pd A B C Tính toán tất cả các ô vuông: data.applymap(lambda x: x**2) A B C Tóm tắt Bài viết này cho thấy phương pháp Pandas ánh xạ dữ liệu vào hàm theo từng lô nhanh chóng. Nó chủ yếu sử dụng Pandas map, apply và applymap Nhanh hơn các chu kỳ thông thường, theo dõi -UP cũng sẽ giới thiệu nhiều kỹ thuật xử lý dữ liệu hơn. |