【问题标题】:Perform arithmetic operation mainly subtraction and division over a pandas series on null values对空值的熊猫系列执行算术运算,主要是减法和除法
【发布时间】:2019-08-13 23:04:52
【问题描述】:

当我使用空值进行减法/除法运算时,我只想得到值(数字)。例如 - 3/np.nan = 3 或 2-np.nan = 2。

通过使用 np.nansum 和 np.nanprod 我已经处理了加法和乘法,但不知道如何进行减法和除法运算。

df = pd.DataFrame({"a":[1,2,3,4],"b":[1,2,np.nan,np.nan]})
df
Out[6]: 
   a    b    c=a-b  d=a/b
0  1  1.0  0.0      1.0
1  2  2.0  0.0      1.0
2  3  NaN  3.0      3.0
3  4  NaN  4.0      4.0

上面我提到了我正在寻找的东西。

【问题讨论】:

    标签: python-3.x pandas


    【解决方案1】:
    #Use fill value of 0 for subtraction operation    
    df['c']=df.a.sub(df.b,fill_value=0)
    
    #Use fill value of 1 for division operation 
    df['d']=df.a.div(df.b,fill_value=1)
    

    【讨论】:

      【解决方案2】:

      IIUC 使用 subfill_value

      df.a.sub(df.b,fill_value=0)
      Out[251]: 
      0    0.0
      1    0.0
      2    3.0
      3    4.0
      dtype: float64
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-02-06
        • 2017-01-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多