在Python(pandas)中乘以缺少值的列

问题描述 投票:0回答:1

我有一个包含多个列的数据集,需要将它们相乘。这些列之一中有缺失值,我想要的是当我将这些列相乘时,将跳过缺失值,并将确实具有值的列用于结果。

例如,

A B C

1 2 1

2 3 NaN

1 4 NaN

1 1 2

对于每一行,我希望结果是:-

2

6

4

2

我尝试了.fillna()、. notnull()、. isnull()和.dropna(),但没有得到理想的结果。

提前感谢

python python-3.x pandas dataframe
1个回答
1
投票

这里是利用.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()。如果您可以包括尝试的代码,它将有助于我们调试您的代码,以寻求更精确的解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.