我有一个包含多个列的数据集,需要将它们相乘。这些列之一中有缺失值,我想要的是当我将这些列相乘时,将跳过缺失值,并将确实具有值的列用于结果。
例如,
A B C
1 2 1
2 3 NaN
1 4 NaN
1 1 2
对于每一行,我希望结果是:-
2
6
4
2
我尝试了.fillna()、. notnull()、. isnull()和.dropna(),但没有得到理想的结果。
提前感谢
这里是利用.fillna()
的例子:
import pandas as pd
import numpy as np
data = pd.DataFrame({"a":[3,6,7],"b":[2,5,7],"c":[5,np.nan,np.nan]})
快速浏览data
:
a b c
3 2 5.0
6 5 NaN
7 7 NaN
然后利用.fillna()
:
data.fillna(1).prod(axis=1)
结果:
30.0
30.0
49.0
我注意到您使用了.fillna()
。如果您可以包括尝试的代码,它将有助于我们调试您的代码,以寻求更精确的解决方案。