我希望在使用DataFrame的agg方法时,设置skipna=False。
我的DataFrame有许多(动态)列。我正在使用groupby进行聚合,并使用agg进行聚合。
我的DataFrame有许多(动态)列。我正在使用groupby进行聚合,并使用agg进行聚合。
import pandas as pd
import numpy as np
df = pd.DataFrame({"A": [1, 2], "B": [np.nan, np.nan], "C": [0, 0]})
# the sum of B is 0.0
df.agg({"A": "sum", "B": "sum", "C": "max"})
当我对单列进行聚合或在整个DataFrame上使用单个聚合函数时,可以添加skipna=False
使得不跳过nan
值,例如df["B"].sum(skipna=False)
或df.sum(skipna=False)
。但是由于我使用了多种不同的函数(sum, avg, max),这种方式不适用于我。
我该如何通过agg
方法传递skipna
参数呢?
nasum = lambda x: x.sum(skipna=False)
,然后在agg
中使用它 ;) - mozway