zoukankan      html  css  js  c++  java
  • 序列、数据框的combine_first( )方法

    combine_first(  )方法

    序列的例子

    #combine_first()方法前的是调用参数,在括号里的是传递参数,把前者为np.nan的用后者相同位置的数来补充,相当于“打补丁”
    
    ser1=pd.Series([np.nan,2.5,np.nan,3.5,4.5,np.nan],index=['f', 'e', 'd', 'c', 'b', 'a'])
    ser2=pd.Series(np.arange(len(ser1)),dtype='float',index=['f', 'e', 'd', 'c', 'b', 'a'])
    ser2[-1]=np.nan
    
    mask=ser2[:-2].combine_first(ser1[2:])
    mask2=ser1[2:].combine_first(ser2[:-2])
    
    print("原序列:
    ",ser1)
    print(ser2)
    print("ser2.ser1结果:
    ",mask)
    print("ser1.ser2结果:
    ",mask2)

    结果: 注意红圈中 的区别,是谁给谁补洞

     END

    数据框的例子

    df1 = pd.DataFrame({'a': [1., np.nan, 5., np.nan],'b': [np.nan, 2., np.nan, 6.],'c': range(2, 18, 4)})
    df2 = pd.DataFrame({'a': [5., 4., np.nan, 3., 7.],'b': [np.nan, 3., 4., 6., 8.]})
    
    print("数据框:
    ",df1,"
    ",df2)
    
    
    print("
    df1.combine_first(df2)的结果:
    ",df1.combine_first(df2))
    print("
    df2.combine_first(df1)的结果:
    ",df2.combine_first(df1))

    结果: 注意是谁给谁补洞

      END

  • 相关阅读:
    网页中控制ActiveX插件高度
    一种C#开发ActiveX的思路
    注销ie中的ActiveX插件
    vs2012安装程序,无法注册ActiveX
    拓展:switch实现
    021,lambda 表达式
    020,函数:内嵌函数与闭包
    019,函数4 变量的作用域
    018,函数2 形参和实参
    017,函数
  • 原文地址:https://www.cnblogs.com/bravesunforever/p/12783011.html
Copyright © 2011-2022 走看看