Các đối tượng được truyền cho hàm là các đối tượng Sê-ri có chỉ mục là chỉ mục của Khung dữ liệu ( >>> df.apply(np.sqrt) A B 0 2.0 3.0 1 2.0 3.0 2 2.0 3.00), kiểu trả về cuối cùng được suy ra từ kiểu trả về của hàm được áp dụng. Mặt khác, nó phụ thuộc vào đối số result_type Show Hàm áp dụng cho từng cột hoặc hàng trục {0 hoặc 'chỉ mục', 1 hoặc 'cột'}, mặc định 0Trục dọc theo đó chức năng được áp dụng
Xác định xem hàng hoặc cột có được truyền dưới dạng đối tượng Sê-ri hoặc ndarray không
Những điều này chỉ hành động khi
Hành vi mặc định (Không có) phụ thuộc vào giá trị trả về của hàm được áp dụng. các kết quả giống như danh sách sẽ được trả về dưới dạng Chuỗi các kết quả đó. Tuy nhiên, nếu hàm áp dụng trả về một Sê-ri, chúng sẽ được mở rộng thành các cột đối số tupleĐối số vị trí để chuyển đến func ngoài mảng/sê-ri **kwargsCác đối số từ khóa bổ sung để chuyển thành đối số từ khóa cho func ReturnsSeries hoặc DataFrameKết quả của việc áp dụng >>> df.apply(np.sqrt) A B 0 2.0 3.0 1 2.0 3.0 2 2.0 3.04 dọc theo trục đã cho của Khung dữ liệu Xem thêm Đối với các hoạt động theo nguyên tố Chỉ thực hiện các thao tác loại tổng hợp Chỉ thực hiện các thao tác chuyển loại ghi chú Các hàm thay đổi đối tượng được truyền có thể tạo ra lỗi hoặc hành vi không mong muốn và không được hỗ trợ. Xem để biết thêm chi tiết ví dụ >>> df = pd.DataFrame([[4, 9]] * 3, columns=['A', 'B']) >>> df A B 0 4 9 1 4 9 2 4 9 Sử dụng một hàm phổ quát numpy (trong trường hợp này giống như >>> df.apply(np.sqrt) A B 0 2.0 3.0 1 2.0 3.0 2 2.0 3.08) >>> df.apply(np.sqrt) A B 0 2.0 3.0 1 2.0 3.0 2 2.0 3.0 Sử dụng chức năng giảm trên một trong hai trục >>> df.apply(np.sum, axis=0) A 12 B 27 dtype: int64 ________số 8_______ Trả lại một danh sách giống như sẽ dẫn đến một chuỗi >>> df.apply(lambda x: [1, 2], axis=1) 0 [1, 2] 1 [1, 2] 2 [1, 2] dtype: object Vượt qua >>> df.apply(np.sqrt) A B 0 2.0 3.0 1 2.0 3.0 2 2.0 3.09 sẽ mở rộng kết quả giống như danh sách sang các cột của Khung dữ liệu >>> df.apply(lambda x: [1, 2], axis=1, result_type='expand') 0 1 0 1 2 1 1 2 2 1 2 Trả về một Sê-ri bên trong hàm tương tự như chuyển >>> df.apply(np.sqrt) A B 0 2.0 3.0 1 2.0 3.0 2 2.0 3.09. Tên cột kết quả sẽ là chỉ mục Sê-ri >>> df.apply(lambda x: pd.Series([1, 2], index=['foo', 'bar']), axis=1) foo bar 0 1 2 1 1 2 2 1 2 Việc vượt qua >>> df.apply(np.sum, axis=0) A 12 B 27 dtype: int641 sẽ đảm bảo kết quả có hình dạng giống nhau, cho dù hàm trả về dạng danh sách hay dạng vô hướng và phát nó dọc theo trục. Tên cột kết quả sẽ là bản gốc Làm thế nào để áp dụng chức năng cho gấu trúc?apply nhận một hàm và áp dụng hàm đó cho tất cả các giá trị của chuỗi gấu trúc . convert_dtype. Chuyển đổi dtype theo hoạt động của chức năng. đối số =(). Các đối số bổ sung để chuyển đến hàm thay vì chuỗi. Loại trả lại. Pandas Series sau khi áp dụng chức năng/hoạt động.
Làm cách nào để áp dụng hàm do người dùng xác định cho DataFrame trong Python?Thông thường có 3 cách để áp dụng các chức năng tùy chỉnh trong Pandas. bản đồ, áp dụng và áp dụng bản đồ. . bản đồ hoạt động theo từng phần tử trên một chuỗi và được tối ưu hóa để ánh xạ các giá trị thành một chuỗi (e. g. một cột của DataFrame) applymap hoạt động theo từng yếu tố trên DataFrame và được tối ưu hóa để ánh xạ các giá trị tới DataFrame DataFrame() trong Python là gì?DataFrame là cấu trúc dữ liệu được gắn nhãn 2 chiều với các cột thuộc các loại có thể khác nhau . Bạn có thể coi nó giống như một bảng tính hoặc bảng SQL hoặc một lệnh của các đối tượng Sê-ri. Nó thường là đối tượng gấu trúc được sử dụng phổ biến nhất. |