繁体   English   中英

如何将熊猫中的两列仅乘以非NaN值?

[英]How to multiply two columns in pandas, by only non-NaN values?

我很好奇是否可以将两列A,B仅乘以非NAN值。

我有以下预期结果的数据框:

                         A     B     C
    Date     Symbol  

  1/1/2017    BTC       Nan    2     Nan
              ETH        3     Nan   6
              XRP        2     Nan   4
  1/2/2017    BTC       Nan    3     Nan
              ETH        1     Nan    3
              XRP        2     Nan    6

我想乘列的非楠值A通过柱的非NaN值B并把结果赋给列C 我想遍历数据框。 我尝试了几件事,但没有任何效果。

检查ffill

#df=df.replace('Nan',np.nan)# Nan is not NaN , replace it 
#df=df.apply(pd.to_numeric,1) # convert to numeric 
df.C=df.A*(df.B.ffill())
df
Out[130]: 
                   A    B    C
Date     Symbol               
1/1/2017 BTC     NaN  2.0  NaN
         ETH     3.0  NaN  6.0
         XRP     2.0  NaN  4.0
1/2/2017 BTC     NaN  3.0  NaN
         ETH     1.0  NaN  3.0
         XRP     2.0  NaN  6.0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM