Hướng dẫn how do you apply a dataframe function in python? - làm thế nào để bạn áp dụng một hàm khung dữ liệu trong python?

DataFrame.apply (func, axis = 0, raw = false, result_type = none, args = (), ** kwargs) [nguồn]#apply(func, axis=0, raw=False, result_type=None, args=(), **kwargs)[source]#

Áp dụng một chức năng dọc theo một trục của DataFrame.

Các đối tượng được truyền đến hàm là các đối tượng loạt có chỉ mục là chỉ mục DataFrame (axis=0) hoặc các cột DataFrame (axis=1). Theo mặc định (

>>> df.apply(np.sqrt)
     A    B
0  2.0  3.0
1  2.0  3.0
2  2.0  3.0
0), loại trả về cuối cùng được suy ra từ loại trả về của hàm được áp dụng. Mặt khác, nó phụ thuộc vào đối số result_type.

Tham sốfuncfunctionfuncfunction

Chức năng để áp dụng cho mỗi cột hoặc hàng.

trục {0 hoặc ‘index, 1 hoặc‘ cột,}, mặc định 0{0 or ‘index’, 1 or ‘columns’}, default 0

Trục cùng với chức năng được áp dụng:

  • 0 hoặc ‘Index, áp dụng chức năng cho mỗi cột.

  • 1 hoặc ‘cột,: Áp dụng chức năng cho mỗi hàng.

Rawbool, mặc định saibool, default False

Xác định nếu hàng hoặc cột được truyền dưới dạng một loạt hoặc đối tượng ndarray:

  • >>> df.apply(np.sqrt)
         A    B
    0  2.0  3.0
    1  2.0  3.0
    2  2.0  3.0
    
    1: Chuyển từng hàng hoặc cột dưới dạng chuỗi cho hàm.

  • >>> df.apply(np.sqrt)
         A    B
    0  2.0  3.0
    1  2.0  3.0
    2  2.0  3.0
    
    2: Hàm được truyền sẽ nhận các đối tượng ndarray thay thế. Nếu bạn chỉ áp dụng chức năng giảm Numpy, điều này sẽ đạt được hiệu suất tốt hơn nhiều.

result_type {‘mở rộng,‘ giảm, ’phát sóng, không}, không có mặc định{‘expand’, ‘reduce’, ‘broadcast’, None}, default None

Những điều này chỉ hành động khi axis=1 (cột):

  • Mở rộng, kết quả giống như danh sách sẽ được biến thành các cột.

  • Giảm giá: Trả về một loạt nếu có thể thay vì mở rộng kết quả giống như danh sách. Điều này trái ngược với ‘mở rộng.

  • ‘Phát sóng: Kết quả sẽ được phát theo hình dạng ban đầu của DataFrame, chỉ mục và cột ban đầu sẽ được giữ lại.

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: kết quả giống như danh sách sẽ được trả về dưới dạng một loạt trong số đó. Tuy nhiên, nếu chức năng áp dụng trả về một chuỗi, chúng được mở rộng thành các cột.

Argstupletuple

Đối số vị trí để chuyển sang Func ngoài mảng/sê -ri.

**kwargs

Các đối số từ khóa bổ sung để truyền dưới dạng từ khóa đối số cho func.

ReturnSseries hoặc dataFrame

Kế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.0
4 dọc theo trục đã cho của DataFrame.

Ghi chú

Các chức năng làm đột biến đối tượng được truyền có thể tạo ra hành vi hoặc lỗi bất ngờ và không được hỗ trợ. Xem đột biến với các phương thức hàm do người dùng (UDF) để biết thêm chi tiết.Mutating with User Defined Function (UDF) methods for more details.

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 hàm phổ quát không có gì (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.0
5):

>>> 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

>>> df.apply(np.sum, axis=1)
0    13
1    13
2    13
dtype: int64

Trả lại một danh sách giống như sẽ dẫn đến một loạt

>>> 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.0
6 sẽ mở rộng kết quả giống như danh sách sang các cột của DataFrame

>>> 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 chuỗi bên trong hàm tương tự như vượt qua

>>> df.apply(np.sqrt)
     A    B
0  2.0  3.0
1  2.0  3.0
2  2.0  3.0
6. Các tên cột kết quả sẽ là chỉ số loạt.

>>> df.apply(lambda x: pd.Series([1, 2], index=['foo', 'bar']), axis=1)
   foo  bar
0    1    2
1    1    2
2    1    2

Vượt qua

>>> df.apply(np.sqrt)
     A    B
0  2.0  3.0
1  2.0  3.0
2  2.0  3.0
8 sẽ đảm bảo kết quả hình dạng tương tự, cho dù là danh sách hay vô hướng được trả lại bởi hàm và phát nó dọc theo trục. Tên cột kết quả sẽ là bản gốc.

>>> df.apply(lambda x: [1, 2], axis=1, result_type='broadcast')
   A  B
0  1  2
1  1  2
2  1  2

Làm thế nào để bạn áp dụng một khung dữ liệu trong Python?

Pandas dataFrame applame () Phương thức application () cho phép bạn áp dụng một hàm dọc theo một trong trục của dataFrame, mặc định 0, là trục chỉ mục (hàng). The apply() method allows you to apply a function along one of the axis of the DataFrame, default 0, which is the index (row) axis.

Điều gì được áp dụng () trong Python?

áp dụng () phương thức. Hàm này hoạt động như một hàm bản đồ () trong Python. Nó có một chức năng làm đầu vào và áp dụng chức năng này cho toàn bộ khung dữ liệu. Nếu bạn đang làm việc với dữ liệu bảng, bạn phải chỉ định một trục bạn muốn chức năng của mình hoạt động (0 cho các cột và 1 cho các hàng).This function acts as a map() function in Python. It takes a function as an input and applies this function to an entire DataFrame. If you are working with tabular data, you must specify an axis you want your function to act on ( 0 for columns; and 1 for rows).

Làm cách nào để áp dụng một hàm cho mỗi hàng của DataFrame?

Sử dụng chức năng Ứng dụng () Khi bạn muốn cập nhật từng hàng trong Pandas DataFrame bằng cách gọi chức năng tùy chỉnh.Để áp dụng một hàm cho mỗi hàng, bạn nên sử dụng AXIS = 1 PARAM để áp dụng ().Bằng cách áp dụng một hàm cho mỗi hàng, chúng ta có thể tạo một cột mới bằng cách sử dụng các giá trị từ hàng, cập nhật hàng E.T.C.use axis=1 param to apply(). By applying a function to each row, we can create a new column by using the values from the row, updating the row e.t.c.

Chức năng DataFrame trong Python là gì?

DataFrame là gì?Một khung dữ liệu gấu trúc là cấu trúc dữ liệu 2 chiều, như mảng 2 chiều hoặc bảng có hàng và cột.a 2 dimensional data structure, like a 2 dimensional array, or a table with rows and columns.