不对数据帧中的空白字段执行计算

时间:2016-07-24 21:26:30

标签: python pandas

我有一个数据框(df),结构如下:

      date     a       b       c         d         e        f       g   
23/02/2009                                  577.9102        
24/02/2009                                  579.1345        
25/02/2009                                  583.2158        
26/02/2009                                  629.7425        
27/02/2009                                  553.8306        
02/03/2009  6.15    5.31    5.80    223716  790.8724            5.7916
03/03/2009  6.16    6.2     6.26    818424  770.6165            6.0161
04/03/2009  6.6     6.485   6.57    636544  858.5754    1.4331  6.4149
05/03/2009  6.1     5.98    6.06    810584  816.5025    1.7475  6.242
06/03/2009  5.845   5.95    6.00    331079  796.7618    1.7144  6.0427
09/03/2009  5.4     5.2     5.28    504271  744.0833    1.6449  5.4076
10/03/2009  5.93    5.59    5.595   906742  814.2862    1.4128  5.8434

其中a和g列有数据我希望使用以下内容将它们组合在一起:

df["h"] = df["a"]*df["g"]

然而,正如您从上面的时间序列中看到的那样,并不总是有数据可用于执行计算,我将返回以下错误:

  

KeyError:'g'

有没有办法在执行计算之前检查数据是否存在?我正在尝试使用:

df["h"] = np.where((df.a == blank)|(df.g == blank),"",df.a*df.g)

我想回复:

      date        a       b       c         d           e       f       g       h
23/02/2009                                       577.9102       
24/02/2009                                       579.1345       
25/02/2009                                       583.2158       
26/02/2009                                       629.7425       
27/02/2009                                       553.8306       
02/03/2009     6.15     5.31    5.8     223716   790.8724           5.7916  1.0618
03/03/2009     6.16      6.2    6.26    818424   770.6165           6.0161  1.0239
04/03/2009      6.6    6.485    6.57    636544   858.5754   1.4331  6.4149  1.0288 
05/03/2009      6.1     5.98    6.06    810584   816.5025   1.7475  6.242   0.9772
06/03/2009    5.845     5.95    6.00    331079  796.7618    1.7144  6.0427  0.9672
09/03/2009      5.4      5.2    5.28    504271  744.0833    1.6449  5.4076  0.9985
10/03/2009     5.93     5.59    5.595   906742  814.2862    1.4128  5.8434  1.0148

但不确定空白数据字段的语法。有人可以告诉我这是什么意思吗?

0 个答案:

没有答案