我用它用数据透视表的行平均值代替nan值
pivot = pivot.apply(lambda row: row.fillna(row.mean()), axis=1)
但是,如何在转换中包括为0的行值(用行平均值同时转换nan和0)?
我尝试lambda
在执行上述命令以转换中的0值之前应用一个函数nan
,但此方法不起作用。下面我试图将0转换为nan
:
pivot = pivot.apply(lambda x == np.nan if x == 0 else x )
您的lambda函数存在语法问题。
首先,您需要声明lambda的输入变量。
其次,当您分配某些内容时,请使用=而不是==。
编辑-您不能在lambda中进行分配,因此仅编写np.nan应该可以。
您能试试看吗?
pivot = pivot.apply(lambda x: np.nan if x == 0 else x )
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句