Vòng lặp for trong lambda python pandas


DataFrame.apply[func, axis=0, raw=False, result_type=None, args=[], **kwargs]
4 có thể được sử dụng với lambda python để thực thi biểu thức. Hàm lambda trong python là một hàm ẩn danh nhỏ có thể nhận bất kỳ số lượng đối số nào và thực thi một biểu thức

Trong bài viết này, tôi sẽ giải thích cách sử dụng DataFrame của gấu trúc. áp dụng [] với lambda bằng các ví dụ. biểu thức lambda được sử dụng để xây dựng các chức năng ẩn danh. Bạn có thể tạo một cái bằng cách sử dụng từ khóa lambda

1. Ví dụ nhanh về gấu trúc Áp dụng với Lambda

Nếu bạn đang vội, dưới đây là một số ví dụ nhanh về cách sử dụng hàm lambda với DataFrame của gấu trúc. ứng dụng[]


# Below are quick examples

# apply a lambda function to each column
df2 = df.apply[lambda x : x + 10]

# Using Dataframe.apply[] and lambda function
df["A"] = df["A"].apply[lambda x: x-2]

# Apply function NumPy.square[] to square the values of two rows 
#'A'and'B
df2 = df.apply[lambda x: np.square[x] if x.name in ['A','B'] else x]

# Using DataFrame.map[] to Single Column
df['A'] = df['A'].map[lambda A: A/2.]

# Using DataFrame.assign[] and Lambda
df2 = df.assign[B=lambda df: df.B/2]

2. Khung dữ liệu. Áp dụng [] Cú pháp

Dưới đây là cú pháp của phương thức


DataFrame.apply[func, axis=0, raw=False, result_type=None, args=[], **kwargs]
5. Thông số

DataFrame.apply[func, axis=0, raw=False, result_type=None, args=[], **kwargs]
6 được sử dụng với biểu thức lambda


DataFrame.apply[func, axis=0, raw=False, result_type=None, args=[], **kwargs]

Hãy tạo một DataFrame mẫu để làm việc với một số ví dụ. Khung dữ liệu của chúng tôi chứa các tên cột


DataFrame.apply[func, axis=0, raw=False, result_type=None, args=[], **kwargs]
7,

DataFrame.apply[func, axis=0, raw=False, result_type=None, args=[], **kwargs]
8 và

DataFrame.apply[func, axis=0, raw=False, result_type=None, args=[], **kwargs]
9

________số 8

Sản lượng dưới sản lượng


   A  B  C
0  3  5  7
1  2  4  6
2  5  8  9

3. gấu trúc Áp dụng với Lambda cho tất cả các cột

Bạn có thể áp dụng biểu thức lambda bằng phương thức apply[], ví dụ bên dưới thêm 10 vào tất cả các cột


# Below are quick examples

# apply a lambda function to each column
df2 = df.apply[lambda x : x + 10]

# Using Dataframe.apply[] and lambda function
df["A"] = df["A"].apply[lambda x: x-2]

# Apply function NumPy.square[] to square the values of two rows 
#'A'and'B
df2 = df.apply[lambda x: np.square[x] if x.name in ['A','B'] else x]

# Using DataFrame.map[] to Single Column
df['A'] = df['A'].map[lambda A: A/2.]

# Using DataFrame.assign[] and Lambda
df2 = df.assign[B=lambda df: df.B/2]
0

Sản lượng dưới sản lượng


# Below are quick examples

# apply a lambda function to each column
df2 = df.apply[lambda x : x + 10]

# Using Dataframe.apply[] and lambda function
df["A"] = df["A"].apply[lambda x: x-2]

# Apply function NumPy.square[] to square the values of two rows 
#'A'and'B
df2 = df.apply[lambda x: np.square[x] if x.name in ['A','B'] else x]

# Using DataFrame.map[] to Single Column
df['A'] = df['A'].map[lambda A: A/2.]

# Using DataFrame.assign[] and Lambda
df2 = df.assign[B=lambda df: df.B/2]
1

4. Áp dụng biểu thức Lambda cho một cột

Bạn có thể áp dụng biểu thức lambda cho một cột trong DataFrame. Ví dụ sau trừ mỗi giá trị ô bằng 2 cho cột A –


import pandas as pd
import numpy as np
data = [[3,5,7], [2,4,6],[5,8,9]]
df = pd.DataFrame[data, columns = ['A','B','C']]
print[df]
0


# Below are quick examples

# apply a lambda function to each column
df2 = df.apply[lambda x : x + 10]

# Using Dataframe.apply[] and lambda function
df["A"] = df["A"].apply[lambda x: x-2]

# Apply function NumPy.square[] to square the values of two rows 
#'A'and'B
df2 = df.apply[lambda x: np.square[x] if x.name in ['A','B'] else x]

# Using DataFrame.map[] to Single Column
df['A'] = df['A'].map[lambda A: A/2.]

# Using DataFrame.assign[] and Lambda
df2 = df.assign[B=lambda df: df.B/2]
3

Sản lượng dưới sản lượng


# Below are quick examples

# apply a lambda function to each column
df2 = df.apply[lambda x : x + 10]

# Using Dataframe.apply[] and lambda function
df["A"] = df["A"].apply[lambda x: x-2]

# Apply function NumPy.square[] to square the values of two rows 
#'A'and'B
df2 = df.apply[lambda x: np.square[x] if x.name in ['A','B'] else x]

# Using DataFrame.map[] to Single Column
df['A'] = df['A'].map[lambda A: A/2.]

# Using DataFrame.assign[] and Lambda
df2 = df.assign[B=lambda df: df.B/2]
4

Tương tự, bạn cũng có thể áp dụng hàm Lambda cho tất cả & nhiều cột trong gấu trúc, tôi sẽ để phần này cho bạn tự khám phá

5. Sử dụng gấu trúc. Khung dữ liệu. map[] với Lambda thành Cột đơn

Đây là một cách khác sử dụng phương pháp


import pandas as pd
import numpy as np
data = [[3,5,7], [2,4,6],[5,8,9]]
df = pd.DataFrame[data, columns = ['A','B','C']]
print[df]
1


# Below are quick examples

# apply a lambda function to each column
df2 = df.apply[lambda x : x + 10]

# Using Dataframe.apply[] and lambda function
df["A"] = df["A"].apply[lambda x: x-2]

# Apply function NumPy.square[] to square the values of two rows 
#'A'and'B
df2 = df.apply[lambda x: np.square[x] if x.name in ['A','B'] else x]

# Using DataFrame.map[] to Single Column
df['A'] = df['A'].map[lambda A: A/2.]

# Using DataFrame.assign[] and Lambda
df2 = df.assign[B=lambda df: df.B/2]
6

Sản lượng dưới sản lượng


# Below are quick examples

# apply a lambda function to each column
df2 = df.apply[lambda x : x + 10]

# Using Dataframe.apply[] and lambda function
df["A"] = df["A"].apply[lambda x: x-2]

# Apply function NumPy.square[] to square the values of two rows 
#'A'and'B
df2 = df.apply[lambda x: np.square[x] if x.name in ['A','B'] else x]

# Using DataFrame.map[] to Single Column
df['A'] = df['A'].map[lambda A: A/2.]

# Using DataFrame.assign[] and Lambda
df2 = df.assign[B=lambda df: df.B/2]
7

6. Khung dữ liệu. gán [] để áp dụng chức năng Lambda

Bạn cũng có thể thử dùng


import pandas as pd
import numpy as np
data = [[3,5,7], [2,4,6],[5,8,9]]
df = pd.DataFrame[data, columns = ['A','B','C']]
print[df]
2 với lambda


DataFrame.apply[func, axis=0, raw=False, result_type=None, args=[], **kwargs]
0

Sản lượng dưới sản lượng


DataFrame.apply[func, axis=0, raw=False, result_type=None, args=[], **kwargs]
1

7. Nhiều cột Sử dụng NumPy. square[] và Hàm Lambda

Áp dụng hàm lambda cho nhiều cột trong DataFrame bằng cách sử dụng các hàm Dataframe apply[], lambda và Numpy


DataFrame.apply[func, axis=0, raw=False, result_type=None, args=[], **kwargs]
2

Sản lượng dưới sản lượng


DataFrame.apply[func, axis=0, raw=False, result_type=None, args=[], **kwargs]
3

Sự kết luận

Trong bài viết này, bạn đã học được biểu thức lambda là gì, cách tạo một biểu thức bằng cách sử dụng từ khóa lambda và sử dụng nó trên DataFrame của gấu trúc. Hàm lambda trong python là một hàm ẩn danh nhỏ có thể nhận bất kỳ số lượng đối số nào và thực thi một biểu thức. biểu thức lambda được sử dụng để xây dựng các chức năng ẩn danh. Bạn có thể tạo một tài khoản bằng cách sử dụng từ khóa lambda

Bạn có thể lặp qua Khung dữ liệu Pandas không?

Bạn có thể lặp qua khung dữ liệu gấu trúc, cho từng hàng cột .

Chức năng lambda có thể lặp qua danh sách không?

Biểu thức lambda là mã nội tuyến triển khai giao diện chức năng mà không cần tạo lớp ẩn danh. Trong Java 8, câu lệnh forEach có thể được sử dụng cùng với biểu thức lambda giúp giảm vòng lặp qua Bản đồ thành một câu lệnh đơn và cũng lặp qua các phần tử của danh sách.

Tôi có thể sử dụng cái gì thay cho vòng lặp for pandas?

Hàm lambda của Python nhanh và mạnh hơn so với vòng lặp for cơ bản. Nó được sử dụng rộng rãi, đặc biệt là khi xử lý Dataframes. Bạn có thể xử lý dữ liệu của mình với sự trợ giúp của hàm Lambda với rất ít mã.

Áp dụng có nhanh hơn vòng lặp for Python không?

Như đã đề cập trước đây, điều này là do apply được tối ưu hóa để lặp qua các hàng trong khung dữ liệu nhanh hơn nhiều so với các lần lặp . Mặc dù chậm hơn apply , itertuples nhanh hơn iterrows , vì vậy nếu cần lặp lại, hãy thử triển khai itertuples thay thế. Sử dụng bản đồ làm giải pháp véc tơ cho kết quả nhanh hơn nữa.

Chủ Đề