[英]Convert a lambda function to a regular function
我想了解如何將 lambda function 轉換為普通的。 我有這個 lambda function 它應該用模式填充每列的 null 值
def fill_nn(data):
df= data.apply(lambda column: column.fillna(column.mode()[0]))
return df
我試過這個:
def fill_nn(df):
for column in df:
if df[column].isnull().any():
return df[column].fillna(df[column].mode()[0])
嗨希望你做得很好!
如果我正確理解了您的問題,那么最好的方法將與此類似:
import pandas as pd
def fill_missing_values(series: pd.Series) -> pd.Series:
"""Fill missing values in series/column."""
value_to_use = series.mode()[0]
return series.fillna(value=value_to_use)
df = pd.DataFrame(
{
"A": [1, 2, 3, 4, 5],
"B": [None, 2, 3, 4, None],
"C": [None, None, 3, 4, None],
}
)
df = df.apply(fill_missing_values) # type: ignore
print(df)
# A B C
# 0 1 2.0 3.0
# 1 2 2.0 3.0
# 2 3 3.0 3.0
# 3 4 4.0 4.0
# 4 5 2.0 3.0
但就個人而言,我仍然會使用lambda
,因為它需要的代碼更少並且更容易處理(尤其是對於這樣的小任務)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.